0

给定一个用户定义的变量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>

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

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

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

4

4 回答 4

4

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

jQuery("#job_status").val(jstatus);
于 2013-04-02T14:18:28.723 回答
2

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

<option value="Pre-press">Pre-press</option>
于 2013-04-02T14:18:44.353 回答
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' )

这将具有与上述相同的效果

于 2013-04-02T14:20:44.437 回答
1

如果您仍然喜欢使用直接选择器,可以使用 :contains 来按内容选择元素。对于您的情况,它几乎是这样的:

$("#job_status option:contains("+jstatus+")").attr('selected','selected');
于 2013-04-02T14:30:01.173 回答