当.attr()或.addClass()这样做时,为什么没有#。(#34;选择",true)不工作?

时间:2014-04-21 14:35:56

标签: jquery html-select prop

我有一个脚本,通过隐藏选择框替换带有一组样式div的选择框,并在用户点击"假" DIV。我定位了所选项目,如下所示:

targetSelect.eq(optionIndex).prop('selected');

optionIndex是所选div的索引,因为它对应于隐藏的选择框选项。

上述行未添加"已选择"到目标选项。我知道我的定位是正确的,因为targetSelect.eq(optionIndex).addClass('selected');会添加该类,而targetSelect.eq(optionIndex).attr('selected',"true");会将所选属性设置为true。

我也尝试过:

targetSelect.prop('selectedIndex',optionIndex);

但这也不起作用。

2 个答案:

答案 0 :(得分:2)

我相信这应该有效:

$('#selectbox option').eq(optionIndex).prop('selected', true);

您也可以尝试这个(确保optionIndex不是字符串!):

targetSelect.val(optionIndex)

答案 1 :(得分:0)

 <select class="form-control" name="gender" id="gender">
         <option value="M">Male</option>
         <option value="F">Female</option>
         <option value="T">Others</option>
</select>
      

$('#gender option[value="' +  obj.data.member_gender +'"]').prop("selected", true);