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

ASP.NET C#中如何用jQuery获取editableSelect选中项ID?

解决editableSelect选中项ID获取显示undefined的问题

问题根源

  • 原生<select>不适用onselect事件,应改用onchange;且editableSelect插件会修改原生控件行为,原生事件绑定方式可能失效。
  • 直接通过$('#cmb_year').attr('value')获取值是错误的:一是ASP.NET带runat="server"的控件客户端ID会动态生成,硬编码cmb_year无法匹配;二是attr('value')只能获取初始值,无法同步选中后的实时值。

修正后的代码

ASPX代码

<select id="cmb_year" runat="server"></select>
<script>
    // 获取真实客户端ID并初始化插件
    var $yearSelect = $('#<%=cmb_year.ClientID%>');
    $yearSelect.editableSelect();

    // 绑定change事件监听选中变化
    $yearSelect.on('change', function() {
        loadCounties();
    });

    function loadCounties() {
        // 用val()获取选中项的value(即绑定的Id)
        var selectedId = $yearSelect.val();
        alert(selectedId);
    }
</script>

ASPX.CS代码(无需修改)

service.BindHTMLDropdownList(cmb_year, "tbl_year", "year", "Id", "order by Id desc");

关键说明

  1. 用<%=cmb_year.ClientID%>确保获取ASP.NET生成的真实客户端ID,避免选择器失效。
  2. 使用jQuery的on('change')绑定事件,适配editableSelect插件的行为,确保选中变化时触发方法。
  3. 用val()方法获取选中项的value值,这是获取表单控件实时选中值的标准方式,能正确拿到绑定的Id。

内容的提问来源于stack exchange,提问作者s.k.Soni

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 09:46:13