通过jquery检查数组输入值中是否存在值

时间:2013-02-19 09:58:10

标签: javascript jquery

我想检查数组值输入中是否有id:cheched 3alert (true) else alert (false)。我尝试了以下js代码,但不适合我。

如何解决?

DEMO: http://jsfiddle.net/VAwHR/4/

HTML:

<input value="3" type="text" id="seeid">
<div class="paginate">
    <input name="ch[]" type="checkbox" value="1" checked>
    <input name="ch[]" type="checkbox" value="2">
    <input name="ch[]" type="checkbox" value="3" checked>
    <input name="ch[]" type="checkbox" value="4">
</div>
<input type="submit" class="sub">

JQUERY:

$('.sub').click(function(){
    var seeid = $('#seeid').val();
    var db = $('.paginate :checkbox:checked').map(function (i, n) {
        return $(n).val();
    }).get();
    alert($.inArray(seeid, db))
})

3 个答案:

答案 0 :(得分:5)

id #

<input value="3" type="text" id="#seeid"> 处的问题
<input value="3" type="text" id="seeid">

使用此

{{1}}

答案 1 :(得分:4)

您有两个错误。第一个:

<input value="3" type="text" id="#seeid"> // id should be "seed"

第二个:

$.inArray(seeid, db) > 0

应该是

$.inArray(seeid, db) > -1 // or ~$.inArray(seeid, db)

例如,您的代码将无法检测到值1,因为在这种情况下indexOf将返回0。

答案 2 :(得分:0)

$('.sub').click(function(){
  var seeid = $('#seeid').val();

  var db = $('.paginate :checkbox:checked').map(function (i, n) {
    return $(n).val();
  }).get();

  var flag;
  if(flag = $.inArray(seeid, db) > -1){
    alert(flag);   
  }
  else {
    alert(flag);   
  }
})

将其粘贴到小提琴中 - 它应该为您提供正确的真/假警报