Javascript 将JSON结果添加到下拉列表中
嗨,我正在做一个网络表单。。 我有一个组合框来容纳所有的单位。 我已经使用JSON从数据库中获取了所有单元,现在我需要将所有这些单元绑定到下拉列表中 我该怎么做Javascript 将JSON结果添加到下拉列表中,javascript,json,drop-down-menu,Javascript,Json,Drop Down Menu,嗨,我正在做一个网络表单。。 我有一个组合框来容纳所有的单位。 我已经使用JSON从数据库中获取了所有单元,现在我需要将所有这些单元绑定到下拉列表中 我该怎么做 function getUnitFamily(pack_detl_ID,select) { //***********************************// PageMethods.getUnitFamily(pack_detl_ID,
function getUnitFamily(pack_detl_ID,select) {
//***********************************//
PageMethods.getUnitFamily(pack_detl_ID,
function(result) {
if (result != null) {
custinfo = eval(result);
if (custinfo != null) {
$('#<%=drpUnit.ClientID%> option').remove();
var objSub = document.getElementById('<%=drpUnit.ClientID%>');
$.each(custinfo, function(i, item) {
listOpt = document.createElement("option");
listOpt.value = item[0];
listOpt.text = item[1];
objSub.add(listOpt);
});
alert(select);
document.getElementById('<%= drpUnit.ClientID %>').value = select;
}
}
}, pageMethodError);
函数getUnitFamily(包装详细信息,选择){
//***********************************//
PageMethods.getUnitFamily(包详细信息),
功能(结果){
如果(结果!=null){
custinfo=评估(结果);
如果(custinfo!=null){
$('#选项')。删除();
var objSub=document.getElementById(“”);
$。每个(客户信息,功能(i,项目){
listOpt=document.createElement(“选项”);
listOpt.value=项目[0];
listOpt.text=项目[1];
objSub.add(listOpt);
});
警报(选择);
document.getElementById(“”).value=select;
}
}
},pageMethodError);
通过一个示例,任何人都可以解释一个组合框听起来像是在使用ASP.NET控件。当然,您可以在代码隐藏中将项目绑定到该控件。如果您正在做一些AJAX工作,并且有一个下拉列表(element>)在您希望在客户端填充的页面中,您可能希望查看所提供的内容。例如,使用api检索您的数据并将该数据推送到下拉列表中,如下所示:
var options = $("#options");
$.each(result, function() {
options.append($("<option />").val("sometext").text("sometext"));
});
var选项=$(“#选项”);
$.each(结果,函数(){
options.append($(“”).val(“sometext”).text(“sometext”);
});
过去,我在使用下拉菜单时使用了一个插件
请求JSON数据:
//Get the JSON Data
$.getJSON(url, function(json) {
PopulateDropDownFromJson(json, "#element");
});
然后将JSON传递到使用上述插件的函数中
function PopulateDropDownFromJson(json, element){
$.each(json, function() {
$(element).addOption(this[valueText], this[displayText], false);
});
}
这对谷歌来说更像是一个问题。