Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在较新版本的JQuery中,如何通过文本选择下拉选项?_Jquery_Select - Fatal编程技术网

在较新版本的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他们只是打字错误。。。只是纠正了他们。谢谢除了语法错误之外,原始版本的更大问题是您正在属性上使用属性选择器。因此,我无法理解它最初是如何工作的。很好地理解了语法错误。它们只是打字错误,已经被更正了。谢谢