我在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
。像这样的数据类型,如果超过一个;
文本1,文本2,文字3,文本4
我希望拆分此值并添加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
项中添加返回数据?
感谢您的回答。
答案 0 :(得分:1)
试试这个
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);
});
答案 1 :(得分:1)
在代码段中使用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);
});
select
,为其分配id
,并将其附加到现有容器,例如div
,option
元素,指定value
和text
,然后将其附加到select
。