我有一个选择控件,在一个javascript变量,我有一个文本字符串。
使用jQuery,我想设置选择控件的选定元素为我有文本描述的项目(而不是值,这是我没有的)。
我知道用值来设置它很简单。如。
$("#my-select").val(myVal);
但我有点难住了,通过文本描述。我想一定有办法从文本描述中得到价值,但我的大脑在周五下午太忙了,无法解决这个问题。
我有一个选择控件,在一个javascript变量,我有一个文本字符串。
使用jQuery,我想设置选择控件的选定元素为我有文本描述的项目(而不是值,这是我没有的)。
我知道用值来设置它很简单。如。
$("#my-select").val(myVal);
但我有点难住了,通过文本描述。我想一定有办法从文本描述中得到价值,但我的大脑在周五下午太忙了,无法解决这个问题。
当前回答
非常精细,其他的似乎都不管用
选择美元(“[name = " dropdown’美元)。(儿童)短信先生(“”)。道具(selected, true);
为我工作。
其他回答
我知道这是一篇老文章,但是我无法使用jQuery 1.10.3和上面的解决方案来实现文本选择。 我最终使用以下代码(spoulson的解决方案的变化):
var textToSelect = "Hello World";
$("#myDropDown option").each(function (a, b) {
if ($(this).html() == textToSelect ) $(this).attr("selected", "selected");
});
希望它能帮助到别人。
1.7+最简单的方法是:
$("#myDropDown option:text=" + myText +"").attr("selected", "selected");
1.9+
$("#myDropDown option:text=" + myText +"").prop("selected", "selected");
测试和工作。
$("#myselect option:contains('YourTextHere')").val();
将返回包含文本描述的第一个选项的值。测试了这一点,并工作。
我发现通过使用attr,你最终会选择多个选项,当你不想-解决方案是使用prop:
$(“#myDropDown option:text=“+ myText +”)。道具(selected”、“selected”);
这个被接受的答案似乎不正确,而.val('newValue')对于函数是正确的,试图通过它的名字检索一个选择对我来说不工作,我必须使用id和类名来获取我的元素