我创建了一个下拉列表并在数组中获取了选项标记值。我想检查文本框值是否与数组值匹配。
HTML:
<select>
<option>test1</option>
<option>test2</option>
<option>test3</option>
<option>test4</option>
</select>
<input type="text" id="txt" /> //textbox
<input class="bt" type="button" id="btntest" value="Check for the Value">
我使用以下Jquery获取数组:
var values = $('select').children('option').map(function (i, e)
{
return e.innerText;
});
现在值变量将结果保存为 test1,test2,test3,test4
问题:如果用户在文本框中键入“ test2 ”( txt ),如何检查数组中是否有 test2 等等上。如果用户输入除数组值之外的任何内容,则应显示错误消息。
请找到fiddle。
答案 0 :(得分:2)
inArray中有一个内置的jquery函数 http://api.jquery.com/jQuery.inArray/
jQuery.inArray("test2", values)
答案 1 :(得分:1)
您可以使用jquery InArray
jQuery.inArray( $('#txt').val() , values)
答案 2 :(得分:0)
if( jQuery.inArray( yourValue, yourArray) ){ //doStuff }
答案 3 :(得分:0)
$('#btntest').click(function () {
if ($.inArray($('#txt').val(), values) > -1) {
console.log("available");
}else{
console.log("not available");
}
});
答案 4 :(得分:0)
据我了解,您需要自动选择该选项,以便更容易
var value = $('#txt').val();
$('option', 'select').filter(function(){return this.innerText == value;}).prop("selected", true)