如何在jQuery中通过其value属性选择一个选项标签?

时间:2011-04-12 07:45:19

标签: jquery select option

<select id="cars" name="cars">
    <option value="1">Volvo</option>
    <option value="2">Ferrari</option>
    <option value="3">Mercedes</option>
</select>

我想选择值为2(法拉利)的选项。我是jQuery的新手。我尝试了以下但没有成功:

var modelId = 2;
jQuery( "#cars" ).val( jQuery( "#cars option[value=" + modelId + "]" ).val() );

4 个答案:

答案 0 :(得分:4)

使用val功能设置值。

$("#cars").val('2');

试试这个example

答案 1 :(得分:1)

jQuery('#cars option[value=' + modelId + ']').attr('selected', true);

我倾向于使用。

答案 2 :(得分:1)

jQuery应该如下所示:

var modelId = 2;
jQuery("#cars")
    .find("option[value=" + modelId + "]")
    .attr("selected","selected");

链接到jsFiddle:http://jsfiddle.net/mitchmalone/CLgAS/

此外,这是一个更灵活的解决方案,让您有机会以各种方式使用它。

答案 3 :(得分:1)

撇开Anurag完全正确的例子,你应该做的事情如下:

var modelId = /* your value */;
$('#cars').val(modelId);

通过这种方式,您可以确切地知道为什么当您在六个月或一年内维护此代码时,将下拉菜单设置为您正在执行的任何操作。此外,如果您需要重构代码,现在基于可以传入的变量而不是幻数来设置您的值,如下所示:

function setModel(modelId) {
    $('#cars').val(modelId);        
}