Javascript 通过JQuery AJAX请求向下拉列表添加选项(作为json对象)
我目前试图进入JQuery,更具体地说,进入AJAX请求 代码:Javascript 通过JQuery AJAX请求向下拉列表添加选项(作为json对象),javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我目前试图进入JQuery,更具体地说,进入AJAX请求 代码: Javascript: success: function(json) { console.log(json); var $el = $("#system"); $el.empty(); // remove old options $el.append($("<option></option>") .attr("valu
Javascript:
success: function(json) {
console.log(json);
var $el = $("#system");
$el.empty(); // remove old options
$el.append($("<option></option>")
.attr("value", '').text('Please Select'));
// for each set of data, add a new option
$.each(json, function(value, key) {
$el.append($("<option></option>")
.attr("value", value).text(key));
});
},
solarSystemID
应成为
的值,solarSystemName
应为文本
提前感谢您的帮助,我想我只需要朝着正确的方向轻轻推一下,它就可以最终按预期工作。您可以使用贴图方法将太阳对象映射到选项元素
$('#system').append(json.map(function(sObj){
return '<option id="'+sObj.solarSystemID+'">'+ sObj.solarSystemName +'</option>'
}));
$('#system').append(json.map(函数(sObj)){
返回“”+sObj.solarSystemName+“”
}));
您可以使用映射方法将太阳对象映射到选项元素
$('#system').append(json.map(function(sObj){
return '<option id="'+sObj.solarSystemID+'">'+ sObj.solarSystemName +'</option>'
}));
$('#system').append(json.map(函数(sObj)){
返回“”+sObj.solarSystemName+“”
}));
调试时,用于构建选项的键和值的值是什么?其中一个似乎是对象,而不是文本值。请显示问题本身中的所有相关代码。我们不应该离开现场来审查您的问题。问题应该是自包含的值应该是0..1..2..3。。。钥匙每次都是一个对象。。。强制为字符串的对象将变成[object object]
-顺便说一句,jQuery。每个回调参数都是键、值,而不是值、键-您可能想到的是数组#forEach@charlietfl我将尝试更新我的anwser,以便JS代码实际出现在帖子中。你完全正确,github的内容将会改变,然后问题就变得不清楚了。将立即修复。调试时,用于构建选项元素的键
和值
的值是什么?其中一个似乎是对象,而不是文本值。请显示问题本身中的所有相关代码。我们不应该离开现场来审查您的问题。问题应该是自包含的值应该是0..1..2..3。。。钥匙每次都是一个对象。。。强制为字符串的对象将变成[object object]
-顺便说一句,jQuery。每个回调参数都是键、值,而不是值、键-您可能想到的是数组#forEach@charlietfl我将尝试更新我的anwser,以便JS代码实际出现在帖子中。你完全正确,github的内容将会改变,然后问题就变得不清楚了。我喜欢这个,因为它对每个项目都做一个附加,而不是一个附加!这让浏览器很高兴:p这就像一个魅力,谢谢!但是,结尾缺少一个结束语)
!修复了它,很高兴我能帮上忙:)我喜欢这个,因为它对每个项目都只做一个附加,而不是一个附加!这让浏览器很高兴:p这就像一个魅力,谢谢!但是,结尾缺少一个结束语)
!修好了,很高兴我能帮忙:)
$('#system').append(json.map(function(sObj){
return '<option id="'+sObj.solarSystemID+'">'+ sObj.solarSystemName +'</option>'
}));