也许有人可以帮助我。我有这种情况:一个带有severa选项的选择框,我想根据在文本框中为用户引入的选项值更改所选选项。直到现在我还没有成功,我尝试了一切,但总是在我选择了一些它仍然被选中并且不想要发现的东西之后。我的选择框就像这样
<select id="slt-np" class="form-control">
<option selected="" value="0">Selects one</option>
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
<option value="4">four</option>
</select>
并且jQuery中的处理程序代码如下所示:
$("#textbox").keypress(function(e) {
if (e.which == 13) {
var selectedoption = $("#cont").children("#slt");//This is to take the select
$(selectedoption).find("option[value='"+$("#textbox").val()+"']").prop("selected",true); //select the option with value in textbox
if ($(selectedoption).find("option[value='" + $("#npip").val() + "']").prop("selected") == false) { //if this option have been not selected
$(selectedoption).find("option[value='" + $("#npip").val() + "']").prop("selected", true); //I select it now
} else {
$(selectedoption).find("option[value='" + $("#npip").val() + "']").prop("selected", false); //if was selected I deselect it
}
答案 0 :(得分:3)
我写的是这样的:
$("#textbox").keypress(function(e) {
if (e.which == 13) {
var textin = $("#textbox").val();
$("#slt-np").val(textin);
}
});
这将检查用户编写的内容,并查找与所选选项的值相同的文本。 如果用户输入是选项的文本:
$("#textbox").keypress(function(e) {
if (e.which == 13) {
var textin = $("#textbox").val();
var optionsel = $('#slt-np').filter(function () { return $(this).html() == textin; }).val();
$('#slt-np').val(optionsel);
}
});
答案 1 :(得分:0)
你应该使用:
$('#slt-np').val('Your value');
它会选择你的价值。