请找到jsfiddle
https://jsfiddle.net/qs008so7/
我在html中有一个选项框,我正在尝试使用jquery设置选项。 但它不起作用。请找到以下代码。
如果我在控制台中调用代码,我能够看到预期的html被返回。 意味着,更改会在DOM中受到适当影响,但不会反映在UI中。。你可以看到我的jfiddle。
HTML:
<select class="form-control" name="test" id="test">
<option value="0">Disabled</option>
<option value="1">Enabled</option>
</select>
JS:
setGivenOption(test,"Enabled");
setGivenOption(test,"Disabled");
function setGivenOption(elementId, option) {
//Make all the old selections to null
$(elementId).each(function () {
$('option', this).each(function () {
$(this).attr('selected', null);
});
});
//set the given option
$(elementId).find(">option:contains('" + option + "')").attr("selected", "selected");
}
感谢。
答案 0 :(得分:1)
你几乎就在那里:试试这个https://jsfiddle.net/q5886d5o/1/
@ Chips_100评论后更新
setGivenOption("test","Disabled");
setGivenOption("test","Enabled");
function setGivenOption(elementId, option) {
//Make all the old selections to null
$('#' + elementId).children('option').each(function () {
$(this).attr('selected', null);
});
//set the given option
$('#' + elementId).children("option:contains('" + option + "')").attr("selected", "selected");
}
答案 1 :(得分:1)
简单地
$(elementId).find('option:contains(' + option + ')').attr('selected', true);
这将取消选择的任何内容并选择新的option