2012-07-17 104 views
2

我有一个看起来像这样的选择元素:如何使用jquery更新select元素的选项列表?

<select id="productId"> 

</select> 

我现在的jQuery是下面:

... 
if (data.success) { 
    var items = []; 
    $.each(data.products, function(key, val) { 
     items.push('<options id="' + val + '">' + key + '</option>'); 
    }); 
    var options = items.join(''); 
    $("#productId").html(options); 
    //$("#productId").val(options); 
    //$("#productId").append(options); 
} 

我的企图都不会更新与我的新选项中选择标签。我错过了什么?

+4

您正在使用''''''而不是'''

+0

console.log(options)将它传递给$('#productId“)。html()之前,确保它是你期望的内容,并且还需要console.log($('#productId”).length)来确保您正在查找#productId元素(此代码不在document.ready()中?)。 – robmisio 2012-07-17 18:54:13

+0

@ alessandro1997哇......就是这样!我没有看到我的控制台中有任何错误,我一直在为此奋斗了近一个小时。非常感谢!不能相信我没有看到:) – user1216398 2012-07-17 18:55:19

回答

5

试试这个:

if (data.success) { 
    $.each(data.products, function(key, val) { 
     $('#productId').append('<option id="' + val + '">' + key + '</option>'); 
    }); 
} 
相关问题