1

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

如何解决?

演示: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">

查询:

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

3 回答 3

5

这是id您遇到的问题#

<input value="3" type="text" id="#seeid">

用这个

<input value="3" type="text" id="seeid">
于 2013-02-19T10:02:02.390 回答
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。

于 2013-02-19T10:05:34.607 回答
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);   
  }
})

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

于 2013-02-19T10:43:08.413 回答