You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从绑定SQL Server的DropDownList获取选中值传入JS的country字段

搞定DropDownList选中值传入Autocomplete请求的方案

没问题,我来帮你解决这个需求——把CountryDDL选中的Value值传到autocomplete的请求参数里,具体实现如下:

首先要注意:你的DropDownList是ASP.NET服务器端控件,带runat="server"属性,所以它在客户端的ID可能会被ASP.NET自动修改(比如加上父容器的ID前缀),我们需要正确定位到这个控件才能获取选中值。

方法一:直接用服务器端ClientID定位(最可靠)

这种方法利用ASP.NET提供的ClientID属性,直接获取控件在客户端的真实ID,避免ID匹配出错:

<script>
$(function () {
    $("[id$=OriginLocationTextBox]").autocomplete({
        source: function (request, response) {
            // 获取CountryDDL选中的Value值
            var selectedCountry = $('#<%= CountryDDL.ClientID %>').val();
            
            // 发起AJAX请求,把country参数传入
            $.ajax({
                url: "你的数据源接口地址", // 替换成你实际的数据源URL
                type: "POST",
                dataType: "json",
                data: {
                    term: request.term,
                    country: selectedCountry // 这里就是我们要传入的选中值
                },
                success: function (data) {
                    response(data); // 把返回的数据传给autocomplete
                }
            });
        },
        minLength: 2, // 可根据你的需求调整最小输入长度
        // 其他autocomplete配置项,比如select事件等,按需添加
    });
});
</script>

方法二:用ID后缀匹配(适合ClientIDMode为Static的场景)

如果你的项目中设置了ClientIDMode="Static"(让服务器端ID和客户端ID完全一致),或者你想通过ID后缀来匹配控件,可以用这种写法:

<script>
$(function () {
    $("[id$=OriginLocationTextBox]").autocomplete({
        source: function (request, response) {
            // 通过ID后缀匹配CountryDDL
            var selectedCountry = $('[id$=CountryDDL]').val();
            
            $.ajax({
                url: "你的数据源接口地址",
                type: "POST",
                dataType: "json",
                data: {
                    term: request.term,
                    country: selectedCountry
                },
                success: function (data) {
                    response(data);
                }
            });
        },
        minLength: 2
    });
});
</script>

额外提示

  • 如果CountryDDL会通过AJAX或服务器回发动态更新,不用担心——上面的代码是在每次autocomplete请求时才获取选中值,所以每次请求都会拿到最新的选中状态。
  • 确保你的页面已经正确引入了jQuery和jQuery UI的Autocomplete组件,否则代码无法正常工作哦。

内容的提问来源于stack exchange,提问作者Yih Wei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:58:19