无法更改选择中的所选选项

时间:2018-03-30 08:44:31

标签: javascript jquery select option

我有一个选择,我希望它被选中的选项可以更改但我无法通过某种原因实现它。这是我的代码。

$("#ID option[value=grpValue]").prop('selected', 'selected').change();

如果不使用" grpValue"我手动输入值,例如值" 3"它确实有效。但我希望它使用grpValue。

所以这例如可行。

$("#ID option[value=3]").prop('selected', 'selected').change();

我在第一行做错了什么?

非常感谢帮助,提前谢谢。

编辑:我已经尝试过使用option[value='grpValue'],但是没有工作。

4 个答案:

答案 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>