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;
});

现在values变量将结果保存为test1,test2,test3,test4

问题:如果用户在文本框(txt )中输入“ test2 ” ,如何检查数组中是否有test2等等。如果用户输入了除数组值之外的任何内容,则应显示错误消息。

请找到小提琴

4

5 回答 5

2

有一个内置的 jquery 函数 inArray http://api.jquery.com/jQuery.inArray/

jQuery.inArray("test2", values)
于 2013-04-22T11:17:26.627 回答
1

您可以使用 jquery InArray

jQuery.inArray( $('#txt').val() , values)
于 2013-04-22T11:17:51.267 回答
0

使用jQuery.inArray.

if( jQuery.inArray( yourValue, yourArray) ){ //doStuff }
于 2013-04-22T11:18:29.397 回答
0

小提琴

$('#btntest').click(function () {
   if ($.inArray($('#txt').val(), values) > -1) {
      console.log("available");
   }else{
     console.log("not available");
   }
});
于 2013-04-22T11:18:37.063 回答
0

据我了解,您需要自动选择该选项,这样更容易

var value = $('#txt').val();
$('option', 'select').filter(function(){return this.innerText == value;}).prop("selected", true)
于 2013-04-22T11:30:25.780 回答