我正在尝试使用ajax调用填充Select,该调用检索带有内容的json。据我所知,连接工作正常(使用Chrome网络选项我看到ajax响应总是包含数据,这是当select不显示任何内容时的响应示例:[{“id”:“4”,“value” :“VALOR 4”},{“id”:“5”,“value”:“VALOR 5”},{“id”:“6”,“value”:“VALOR 6”})。
我正在使用这段jquery加载select(函数从$ .ready()调用):
function(options) {
$.each(options, function(key, option){
select.append($('<option></option>').val(option['id']).text(option['value']) );
})};
问题在于,有时候,如果没有在浏览器控制台上显示任何错误,则会填充select,有时则不会填充。实际上,我复制了相同的SELECT,并且两个问题都在发生,但同时也不是必要的:有时两者都是填充的,有时只有一个,有时两个都是空的......
我应该如何修复/重写我的代码以使其始终如一地工作?
答案 0 :(得分:0)
您的逻辑似乎是正确的,所以如果出现问题,可能来自您从服务器收到的回复
let options = [{"id":"4","value":"VALOR 4"},{"id":"5","value":"VALOR 5"},{"id":"6","value":"VALOR 6"}];
let select = $('select')
$.each(options, function(key, option){
select.append($('<option></option>').val(option['id']).text(option['value']) );
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select></select>