我很难通过选项值=“X”选择另一个下拉选项..我该怎么做?
<select id="type">
<option value="all">All Types</option>
<option value="1">Comments</option>
<option value="2">Meanings</option>
<option value="3">Thoughts</option>
</select>
如果我执行下面的代码,它会起作用,但因为我通常会输入类型的总数(所以注释13,含义6等),所以数字总是从一种形式变为另一种形式。
$("#type").val('Comments');
但是如何根据value =“X”或value =“all”
选择它答案 0 :(得分:1)
您将选项文字与值
混淆 $("#type").val(1);// will select option with text="Comments"
如果您想获取文本并转换为选定的
$('#type option').filter(function(){
return $(this).text()=="Comments";
}).prop('selected',true)
答案 1 :(得分:1)
jQuery('#type option:contains("Comments")').prop('selected', true);
编辑:看完之后,如果您使用以下内容,您可以根据值或选项文本进行选择:以下内容将选择列表中的第二项:选项值为1,注释文本 - 任何文本评论中的suffex /其他文本仍然支持“评论33”。
var checkMe = '1';
$('#typePick option:contains("'+checkMe+'"), #typePick option:[value="'+checkMe+'"]').prop('selected',true);
按文字:
var checkMe = 'Comments';
$('#typePick option:contains("'+checkMe+'"), #typePick option:[value="'+checkMe+'"]').prop('selected',true);
独特的一个:<option value="1">Comments 33</option>
var checkMe = 'Comments 33';
$('#typePick option:contains("'+checkMe+'"), #typePick option:[value="'+checkMe+'"]').prop('selected',true);
注意:最后三个示例中唯一的区别是分配给checkMe
的值。
请参阅此处了解工作示例:http://jsfiddle.net/a7SQT/1/
答案 2 :(得分:0)
答案 3 :(得分:0)
http://api.jquery.com/val/始终接受/提供value属性的数据。
答案 4 :(得分:0)
如果您想根据文字获取值,可以使用:contains
:
$('#type option:contains(Comments)').val();
否则,如果要设置值,可以使用相同的选择器并设置所选属性:
$('#type option:contains(Comments)').prop('selected', true);