我有一个选择,我希望它被选中的选项可以更改但我无法通过某种原因实现它。这是我的代码。
$("#ID option[value=grpValue]").prop('selected', 'selected').change();
如果不使用" grpValue"我手动输入值,例如值" 3"它确实有效。但我希望它使用grpValue。
所以这例如可行。
$("#ID option[value=3]").prop('selected', 'selected').change();
我在第一行做错了什么?
非常感谢帮助,提前谢谢。
编辑:我已经尝试过使用option[value='grpValue']
,但是没有工作。
答案 0 :(得分:2)
$(document).ready(function(){
$("#sel option[value='c']").attr("selected",true);
$("#sel option[value='c']").prop("selected",true);
});
<html><head><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script></head>
<body>
<form>
<select id="sel">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
</form>
</body>
</html>
you can use any one from prop() or attr() method both of useful
答案 1 :(得分:1)
grpValue
是变量吗?如果是的话
$("#ID option[value="+grpValue+"]").prop('selected', 'selected').change();
将使属性选择器完成工作。
BTW,我想
$obj.prop('selected', true);
是prop
的正确表达式。
答案 2 :(得分:1)
$('#id_of_select').val('value_of_option_here');
编辑:解释上述代码的工作原理。第一部分:
jQuery是否使用以下方法通过它的id选择元素,我们也可以通过简单地将'#'更改为'。'来选择元素。
$('#id_of_select')
它后面的语句引用了附加到每个输入,select,textarea和button的value属性。该值是提交表单时传递的字符串。对于输入,这是键入的文本,用于选择它是所选选项的值。
当我们单击选择字段中的某个选项时,我们实际在做的是抓取选项的值并将其设置为选择值,选择知道通过该值选择的值,然后可以获取选项与此值关联的文本。下面的代码(带参数)将设置选择字段的值,方法与单击选项时的方式相同。
注意.val必须有一个参数,否则你只是问jQuery所选字段的值是什么。设置一个值,没有值就会得到。
.val('value_of_option_here');
希望这比我原来的答案更有用,我试图尽可能地将其分解,但如果它有点混乱让我知道。
答案 3 :(得分:0)
工作示例:
$("#ID option[value='b']").prop('selected', 'selected').change();
// if value in variable just replace $("#ID option[value="+valueInVar+"]")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="ID" >
<option value = "a">a</option>
<option value = "b">b</option>
<option value = "c">c</option>
</select>