我想允许用户输入一个文本框并在选择下拉列表中查找并选择它。但是我有自己的对象而不是它的名字。
当前按下输入文本框将运行以下代码
$(this).prev().find('option:contains(\'editboxValue\')').attr('selected', 'selected');
但上面的代码只选择Text2。以下代码工作正常,但看起来很乱!
$(this).prev().find("option").each(function(){ if ($(this).text() == 'editboxValue') $(this).attr("selected","selected");});
有没有更好的方法来写它?
<select>
<option>Text</option>
<option>Text1</option>
<option>Text2</option>
</select>
<input type="text">
答案 0 :(得分:3)
使用下拉列表项文本选择该选项,请使用此
var findText = $('#textBoxId').val();
$('#dropDownList option').
filter(function () {return ($(this).text() == findText); })).
attr('selected', 'selected');
答案 1 :(得分:0)
选择一个ID或类,并为您的选项提供与您的文本相同的ID。 如果生成选项,则易于制作。 你需要做的就是:
var myId = 'GetTheIdYouNeed'
$('.mySelect').find(myId);