[英]using jquery to select an option in a select based on a user-defined variable
Given a user-defined variable jstatus
, I want that that particular variable should be selected in a given list of options. 给定用户定义的变量
jstatus
,我希望应在给定的选项列表中选择该特定变量。
My list is like this: 我的清单是这样的:
<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>
And somewhere in my javascript code after setting the value of jstatus
, this is my jquery: 设置
jstatus
的值后,在我的javascript代码中的jstatus
,这是我的jquery:
$("#job_status option[value='"+jstatus+"']").attr('selected','selected');
But it's not working. 但这不起作用。 What's the right way to do it?
什么是正确的方法?
最简单的方法是直接设置值:
jQuery("#job_status").val(jstatus);
您需要先向选择器添加值。
<option value="Pre-press">Pre-press</option>
The problem is that your select list has no "value"-property on its options 问题是您的选择列表的选项没有“值”-属性
<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>
You can also use jQuery's val() method 您还可以使用jQuery的val()方法
$( 'select' ).val( 'val3' )
this would have the same effect as the above 这将具有与上述相同的效果
If you still prefer using a direct selector, there's :contains for you to select element by its contents. 如果仍然喜欢使用直接选择器,则可以使用:contains来按其内容选择元素。 For your case it goes pretty much like this:
对于您的情况,它几乎是这样的:
$("#job_status option:contains("+jstatus+")").attr('selected','selected');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.