【问题标题】:unable to get selected (Key) value of that dropdownlist that is binded using Ajax and jquery无法获取使用 Ajax 和 jquery 绑定的下拉列表的选定(键)值
【发布时间】:2018-02-15 09:48:32
【问题描述】:

我已经使用 ajax 和 jquery 成功绑定了 asp.net 下拉列表,但是 无法获取该下拉列表的选定值以绑定另一个下拉列表 这是我尝试过但没有获得所需键值的不同代码 这些都赋予文本价值。

        var ddl = document.getElementById("<%=ddlKit.ClientID%>").value;
        alert(ddl);
        var vall = $jq183("[id*='ddlKit']").find('option:selected').val();
        alert(vall);

服务器端代码

 [WebMethod]  

 public static ArrayList GetKitDrop(int OrderId)
    {
        Controller.Pharmacy.PHM001C OBJPHM001 = new 
        Controller.Pharmacy.PHM001C();
        var List11 = OBJPHM001.GetKit(categoryId);
        List<KeyValuePair<string, string>> List = new List<KeyValuePair<string, string>>();
        var query1 = (from t in List11 select new { t.KIT_ID, t.KIT_NAME });
        List = query1.AsEnumerable().Select(item => new KeyValuePair<string, 
        string>(item.KIT_ID, item.KIT_NAME)).ToList();

        ArrayList arr_list = new ArrayList(List);
        return arr_list;
    }

jQuery

 $jq183("[id*='ddlOrder']").live('change', function (e) 
  {
      $jq183.ajax({
            type: "POST",
            url: "PHM001.aspx/GetKitDrop",
            data: "{OrderId:'" + $(this).val() + "' }",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
            var ddlKit = $jq183("[id*=ddlKit]");
            ddlKit.empty().append('<option selected="selected" value="0">Please select</option>');
                for (var i = 0; i < data.d.length; i++) {
                    ddlKit.append('<option>' + data.d[i].Value + '</option>');
                }
           },
            failure: function () {
                alert("Failed!");
            }
        });
  });

【问题讨论】:

  • 你在哪里无法获取值?
  • 1) live()很久 之前就被弃用了。请改用on() 方法的委托签名,并确保您没有使用过时的jQuery 版本。您至少应该使用 1.12。理想情况下是 3.x,如果您不需要旧版 IE 支持。 2) 不要建立自己的 JSON 字符串。只需向data 提供一个对象,它就会对 ytou 的值进行编码
  • jquery 运行正常,这不是版本问题.. 我只是无法获得当前选择的键值.. 你知道为什么吗?
  • @void 这里 $jq183("[id*='ddlKit']").find('option:selected').val();
  • 我用的是jquery-1.8.3.min.js这个版本的jquery

标签: jquery


【解决方案1】:

您将根据选项中的值属性获取所选值,在您的情况下动态创建的选项中错过了

【讨论】:

  • 你能提供一些细节吗?
  • ddlKit.append('');跨度>
  • 仍然得到文本不是价值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多