繁体   English   中英

jquery inArray 未找到值

[英]jquery inArray not found value

我试图在array找到selected value ,但到目前为止我尝试的方法不起作用:

 var array = [0, 74]; $('select').change(function() { var selected = $('select option:selected').val(); if ($.inArray(selected, array) != -1) { alert('found'); } else { alert('not found'); } });
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select> <option value="0" selected="selected">----</option> <option value="59">ss</option> <option value="61">aa</option> <option value="62">zz</option> <option value="60">yy</option> <option value="74">xx</option> </select>

它适用于$.each但我不想使用任何循环我的目标是使用inArray获得它。 如果选择的值为074应该警惕found ,但它不工作。

使用indexOf()函数在数组中查找。

chanhe 类型选择为整数parseInt() (array is integers)

 var array = [0, 74]; $('select').change(function() { var selected = parseInt($('select option:selected').val(), 10); if(array.indexOf(selected)!=-1){ alert('found'); } else { alert('not found'); } });
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <select> <option value="0" selected="selected">----</option> <option value="59">ss</option> <option value="61">aa</option> <option value="62">zz</option> <option value="60">yy</option> <option value="74">xx</option> </select>

val返回一个字符串并且inArray严格比较

 var array = [0, 74]; $('select').change(function() { var selected = $('select option:selected').val(); // convert to a number if ($.inArray(+selected, array) != -1) { alert('found'); } else { alert('not found'); } });
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select> <option value="0" selected="selected">----</option> <option value="59">ss</option> <option value="61">aa</option> <option value="62">zz</option> <option value="60">yy</option> <option value="74">xx</option> </select>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM