使用jquery选择另一个下拉选项

时间:2012-03-05 19:01:23

标签: jquery

我很难通过选项值=“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”

选择它

5 个答案:

答案 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)

即将结束 - 只需使用该选项的调用val()

var value="2";
$("#type").val(value)

fiddle here

答案 3 :(得分:0)

http://api.jquery.com/val/始终接受/提供value属性的数据。

尝试http://jsfiddle.net/rKMmg/

答案 4 :(得分:0)

如果您想根据文字获取值,可以使用:contains

$('#type option:contains(Comments)').val();

否则,如果要设置值,可以使用相同的选择器并设置所选属性:

$('#type option:contains(Comments)').prop('selected', true);