使用jquery根据用户定义的变量选择select中的选项

时间:2013-04-02 14:16:47

标签: javascript jquery select

鉴于用户定义的变量jstatus,我希望在给定的选项列表中选择该特定变量。

我的清单是这样的:

<select name='job_status' id='job_status'>
    <option>Pre-press</option>
    <option>Printers</option>
    <option>Cutting</option>
    <option>Final touches</option>
    <option>Delivery</option>
    <option>Ready</option>
</select>

在设置jstatus的值后,在我的javascript代码中的某处,这是我的jquery:

$("#job_status option[value='"+jstatus+"']").attr('selected','selected');

但它不起作用。什么是正确的方法?

4 个答案:

答案 0 :(得分:4)

最简单的方法是直接设置值:

jQuery("#job_status").val(jstatus);

答案 1 :(得分:2)

您需要先为选择器添加值。

<option value="Pre-press">Pre-press</option>

答案 2 :(得分:1)

问题是您的选择列表在其选项

上没有“值”属性
<select name='job_status' id='job_status'>
     <option value="val1">Pre-press</option>
     <option value="val2">Printers</option>
     <option value="val3">Cutting</option>
     <option value="val4">Final touches</option>
     <option value="val5">Delivery</option>
     <option value="val6">Ready</option>
</select>

<script>
    $( 'select option[value="val3"]' ).attr( 'selected', 'selected' );
</script>

您还可以使用jQuery的val()方法

$( 'select' ).val( 'val3' )

这与上面的效果相同

答案 3 :(得分:1)

如果您仍然喜欢使用直接选择器,那么:包含您可以按其内容选择元素。对于你的情况,它非常像这样:

$("#job_status option:contains("+jstatus+")").attr('selected','selected');