2016-10-04 21 views
0

我们可以动态地标记与jquery动态设置不会出现在选择HTML

有了下面的一些选项中进行选择:

<select name='strings' id="strings" multiple style="width:100px;"> 
    <option value="Test">Test</option> 
    <option value="Prof">Prof</option> 
    <option value="Live">Live</option> 
    <option value="Off">Off</option> 
    <option value="On">On</option> 
</select> 

以下js将选择Test,Prof,Off

var values="Test,Prof,Off"; 
$.each(values.split(","), function(i,e){ 
    $("#strings option[value='" + e + "']").prop("selected", true); 
}); 

console.log($("#strings").html()); 

http://jsfiddle.net/3f0ea4dc/

This works fine ...

$("#strings").html()不会将选项标记为选中状态。所以,我期望看到

<option value="Test" selected>Test</option> 

但我看到

<option value="Test">Test</option>. 

有何评论?!有没有什么办法可以让我选择HTML!

回答

2

通过attr()只需更换prop()如预期,将工作;)

1

请尝试以下代码: -

$.each(values.split(","), function(i,e){ 
    $("#strings option[value='" + e + "']").attr("selected", true); 
}); 

http://jsfiddle.net/3f0ea4dc/3/