鉴于用户定义的变量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');
但它不起作用。什么是正确的方法?
答案 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');