如何在javascript上添加数据asp:下拉列表项

How to add data asp:dropdownlist item on javascript?

本文关键字:asp 下拉列表 数据 添加 javascript      更新时间:2023-09-26

我在aspx页面上有ajax功能。

 function fav() {
            var p = "3";
            var e = document.getElementById('<%= ddlCountry.ClientID %>');  
            var j = e.options[e.selectedIndex].text;
                //var aralik = p[1] + p[2];
                $.ajax({
                    type: "POST",
                    url: "STry.aspx/Fill",
                    data: "{'Param': '" + p + "','Param2': '" + j + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    error: function (xhr, status, error) {
                        //alert the error if needed              
                    },
                    success: function (msg) {
                        var data = msg.d;
                        if (data.indexOf(',') < 0)
                        {
                            document.getElementById('<%= ddlCity.ClientID %>').options.add(data);
                        }
                        else
                        {
                            data.split(",").forEach(function (item) {
                                var opt = document.createElement(item);
                                document.getElementById('<%= ddlCity.ClientID %>').options.add(opt);
                            });
                        }
                    }
                });
        }

数据返回var data = msg.d;,所以我的返回数据是data。这样的数据类型,如果多于;

text1、text2 text3, text4

,我想分割这个值,并添加下拉列表,即ddlCity

这部分是我的尝试:

var data = msg.d;
      if (data.indexOf(',') < 0)
        {
          document.getElementById('<%= ddlCity.ClientID %>').options.add(data);
        }
         else
         {
            data.split(",").forEach(function (item) {
            var opt = document.createElement(item);
            document.getElementById('<%= ddlCity.ClientID %>').options.add(opt);
         });

但是它不工作。

简单地说,我有一个返回数据,如(text1,text2,text3,text4)如何在javascript的ddlCity项目中添加返回数据?

谢谢你的回答。

试试这个

data.split(",").forEach(function (item) {
var option = document.createElement("option");
option.text = item;
option.value = item;
var ddl= document.getElementById('<%= ddlCity.ClientID %>')
ddl.appendChild(option);
});

下面检查附加选项以选择菜单?

在代码片段中使用forEach:

演示:http://jsfiddle.net/abhitalks/63eX6/1/

var data = "text1,text2,text3,text4";
var ddl = document.createElement("select");
ddl.id = "s1";
document.getElementById("container").appendChild(ddl);
data.split(",").forEach(function(item) {
    var opt = document.createElement("option");
    opt.value = item;
    opt.text = item;
    ddl.appendChild(opt);
});
  1. 创建一个select,分配一个id给它,并将它附加到一个现有的容器,如div
  2. 循环分割数组,创建option元素,分配valuetext,然后将其附加到select