簡體   English   中英

如何檢查數組中的值是否存在於jquery / javascript中的數組中

[英]How to check if values in an array is exists in an array in jquery/javascript

我在互聯網上搜索但是我的問題看起來並不相同。 我想要的是在text字段中為問題添加question numbers ,數字應該是unique 我正在嘗試檢查array of numbers是否存在於多個問題的數組中(eg 8 questions) ,然后如果它在數組中,只要not entered yet輸入數字,您就可以輸入數字,但是我的代碼不管用。 我怎樣才能做到這一點? 請參閱下面的代碼以供參考。

 $(document).ready(function(){ var try1; var arrayLen = $('#question\\\\[\\\\]').length; var numArray = []; var convertedArray; for(i = 1; i <= arrayLen; i++){ numArray.push(i); } $('#question\\\\[\\\\]').on('input', function(){ if($.inArray($(this).val(), numArray) !== -1){ $('#result').html("available"); } else{ $("#result").html("not available"); return false; } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" id="question[]" placeholder="multipleChoice"><br><br> <input type="text" id="question[]" placeholder="trueFalse"><br><br> <input type="text" id="question[]" placeholder="shortAnswer"><br><br> <input type="text" id="question[]" placeholder="shortAnswer"><br><br> <input type="text" id="question[]" placeholder="description"><br><br> <input type="text" id="question[]" placeholder="multipleChoice"><br><br> <input type="text" id="question[]" placeholder="multipleChoice"><br><br> <input type="text" id="question[]" placeholder="trueFalse"><br><br> <span id="result"></span> 

一般承認答案: 但需要更新

@Shiladitya接受的回答

在這里,您可以使用解決方案https://jsfiddle.net/33zeL2fa/5/

 $(document).ready(function(){ var arrayLen = $('input[name="question[]"]').length; var numArray = []; for(i = 1; i <= arrayLen; i++){ numArray.push(i); } $('input[name="question[]"').keypress(function(e){ if(numArray.indexOf(parseInt(e.key)) != -1){ $('#result').html("available"); numArray.splice(numArray.indexOf(parseInt(e.key)), 1); } else{ $("#result").html("not available"); e.preventDefault(); } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" name="question[]" placeholder="multipleChoice"><br><br> <input type="text" name="question[]" placeholder="trueFalse"><br><br> <input type="text" name="question[]" placeholder="shortAnswer"><br><br> <input type="text" name="question[]" placeholder="shortAnswer"><br><br> <input type="text" name="question[]" placeholder="description"><br><br> <input type="text" name="question[]" placeholder="multipleChoice"><br><br> <input type="text" name="question[]" placeholder="multipleChoice"><br><br> <input type="text" name="question[]" placeholder="trueFalse"><br><br> <span id="result"></span> 

我使用過jQuery keydown事件。

更多驗證更新她去了https://jsfiddle.net/33zeL2fa/6/

 $(document).ready(function(){ var try1; var arrayLen = $('input[name="question[]"]').length; var numArray = []; var convertedArray = []; for(i = 1; i <= arrayLen; i++){ numArray.push(i); } $('input[name="question[]"').keydown(function(e){ if(e.which === 8 || e.keyCode === 8){ numArray.push(parseInt($(this).attr('newval'))); $(this).removeAttr('newval'); } else { if(numArray.indexOf(parseInt(e.key)) != -1){ $('#result').html("available"); $(this).attr('newval', e.key); numArray.splice(numArray.indexOf(parseInt(e.key)), 1); } else{ $("#result").html("not available"); e.preventDefault(); } } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" name="question[]" placeholder="multipleChoice"><br><br> <input type="text" name="question[]" placeholder="trueFalse"><br><br> <input type="text" name="question[]" placeholder="shortAnswer"><br><br> <input type="text" name="question[]" placeholder="shortAnswer"><br><br> <input type="text" name="question[]" placeholder="description"><br><br> <input type="text" name="question[]" placeholder="multipleChoice"><br><br> <input type="text" name="question[]" placeholder="multipleChoice"><br><br> <input type="text" name="question[]" placeholder="trueFalse"><br><br> <span id="result"></span> 

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM