选择刚刚附加了jquery的选项

基于AJAX查询,我将一些选项附加到列表中。

for(var i = 0; i < options.length; i++) { var data = options[i]; var option = $('' + data['value'] + ''); $('#mySelectElement').append(option); } 

现在,当用户在页面上进行交互时,我想选择刚刚添加的选项,我尝试了以下内容(这两种可能性对我来说都不起作用):

 $('#mySelectElementOption_' + id).attr('selected', 'selected'); 

 var option = document.getElementById('mySelectElementOption_' + id); option.selected = true; 

所以我卡住了,因为我不知道如何选择我的选择。 你有什么想法我能解决这个问题吗? 谢谢!

PS:当我在Google Chrome中尝试第二种可能性时,它可以完美运行。

问候,约瑟夫

 var opts = { success: function(data) { //do everything here first before appending it, //including adding event bindings } } $.ajax(opts) 

使用prop而不是attr

 $('#mySelectElementOption_' + id).prop('selected', true); 

要么

 $('#mySelect').val($('#mySelectElementOption_' + id).val()); 

http://jsfiddle.net/uG88d/

试试这个:
HTML:

      JS Bin      

JS:

 //demo data options = [{id:0, value:"aaa"},{id:1, value:"bbb"},{id:2, value:"ccc"}]; for(var i = 0; i < options.length; i++) { var data = options[i]; var option = $(''); $('#mySelectElement').append(option); } //This is what you need: $("#mySelectElement :not([class])").attr("disabled","disabled"); 

说明:
$("#mySelectElement :not([class=interactable])") – 这告诉jquery在#mySelectElement中找到没有’interactable’类的任何选项元素。
然后它禁用它: .attr("disabled","disabled");

尝试一下: jsBin

编辑:

 $("#mySelectElement .interactable:first").prop('selected', true); 

试试看