2013-04-22 49 views
0

我创建了一个下拉列表并获取了数组中的选项标记值。我想检查文本框的值是否与数组值相匹配。检查数组中的特定值

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“in textbox(txt),如何检查test2在数组中是否可用等等。如果用户输入除数组值之外的任何内容,则应显示错误消息。

请找到fiddle

回答

0

Fiddle

$('#btntest').click(function() { 
    if ($.inArray($('#txt').val(), values) > -1) { 
     console.log("available"); 
    }else{ 
    console.log("not available"); 
    } 
}); 
+0

感谢小提琴阿迪尔 – user2218497 2013-04-22 11:31:44

+0

当我选择从列表中它的第一项说“不可用” – user2218497 2013-04-22 11:33:54

+0

确保你有'> -1'在条件 – 2013-04-22 11:37:15

1

您可以使用jQuery InArray

jQuery.inArray($('#txt').val() , values) 
0

据我了解,你需要程序自动选择该选项,这样它更容易

var value = $('#txt').val(); 
$('option', 'select').filter(function(){return this.innerText == value;}).prop("selected", true) 
相关问题