[英]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
獲得它。 如果選擇的值為0
或74
應該警惕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.