在较新版本的JQuery中,如何通过文本选择下拉选项?
我使用以下语句选择下拉选项:在较新版本的JQuery中,如何通过文本选择下拉选项?,jquery,select,Jquery,Select,我使用以下语句选择下拉选项: $('select#someId option[text="B"]'); 对于选择元素,如下所示: <select id="someId"> <option value="1">A</option> <option value="2">B</option> <option value="3">C</option> <option value="
$('select#someId option[text="B"]');
对于选择元素,如下所示:
<select id="someId">
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
<option value="4">D</option>
</select>
但在较新版本的jQuery中,似乎同样的语句不起作用。我使用的是1.7版。在较新版本的jQuery中实现这一点的最佳方法是什么?使用过滤器:
$('select#someId option').filter(function(){ return this.text == "B" }).html("BLAH!");
在您的情况下,您希望使用匹配选项的val设置select val:
$('select#someId').val($('select#someId option').filter(function(){ return this.text == "B" }).val());
注意:由于嵌套引号,示例中出现了一些语法错误:
jsiddle:您可以这样使用:
$(function() {
$("#someId").val($("#someId" + " option").filter(function() { return this.text === 'B' }).val());
});
我不知道这个示例jQuery代码段在任何版本中都是如何工作的。仅供参考,ID仍然不匹配:选择器是someId而不是someId他们只是打字错误。。。只是纠正了他们。谢谢除了语法错误之外,原始版本的更大问题是您正在属性上使用属性选择器。因此,我无法理解它最初是如何工作的。很好地理解了语法错误。它们只是打字错误,已经被更正了。谢谢