我有一个动态创建的选择输入菜单,这会创建一个行项目。然后,用户可以单击该行以编辑其选择。我在设置变量的默认下拉选项时遇到问题。我在jsfiddle中放了我的问题的简化版本。
http://jsfiddle.net/SteveRobertson/cPtLj/1/
我在小提琴中尝试做的是默认选项是option3。
我也尝试过使用"价值"而不是" text"这样做
$("#selectid option[value='"+cat+"']").prop("selected", "selected");
我似乎无法获得设定值。任何帮助,将不胜感激。谢谢。
答案 0 :(得分:2)
var text1 = 'your text';
$("select option").filter(function() {
return $(this).text() == text1;
}).prop('selected', true);
或使用
<select id="selectid">
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
<option value="option4">option4</option>
$(document).ready(function () {
$("#selectid").val("option3");
});
答案 1 :(得分:2)
<强> Working jsFiddle Demo 强>
试试这个:
$(document).ready(function() {
var cat = 'option3';
$("#selectid option:contains(" + cat + ")").prop("selected", true);
});
注意:
cat
,string
,而不是variable
。:contains() Selector
。.prop()
方法需要boolean
作为其第二个参数。参考文献:
:contains() Selector
- jQuery API文档:prop()
- jQuery API文档这种方法很公平。它也适用于option11
和option111
等选项:
$(document).ready(function() {
// your string
var cat = 'option11';
// get all options
$("#selectid option")
// remove all selected
.prop("selected", false)
// now filter the one you want
.filter(function () {
return $.trim($(this).text()) == cat;
})
// select it
.prop('selected', true);
});
答案 2 :(得分:0)
首先,你还没有把jQuery库包含在你的小提琴中。
$('document').ready(function () {
$("select#selectid").val("option3");
});
查看此JSFiddle