如何使用map函数jquery?

时间:2017-06-02 11:00:40

标签: php jquery mysqli

代码:

<script>
    $(document).ready(function(){
        for(id=1;id<=31;id++)
        {
            $("#"+id).click(function(){
                console.log($('.state:checked').map(function() {
                    ids = this.value;
                }).get().join(', '));
                alert(ids);
            });
        }
    });
</script>

<?php 
    $sql2 = "select * from statemaster";
    $row1 = mysqli_query($link,$sql2);
    while ($fetch1 = mysqli_fetch_array($row1)) 
    {
?>
    <input type="checkbox" name="statename" id="<?php echo $fetch1['stateid']; ?>" value="<?php echo $fetch1['stateid']; ?>" class="state">&nbsp;<?php echo $fetch1['statename']; ?><br/>
<?php           
    } 
?>

在这段代码中,我使用的是map函数,想要得到多个id状态,比如1,2,3,4但是当我点击任何一个状态时,它会一个接一个地警告id,就像检查第一个复选框一样警告1同样在第二个它给2但我想要1,2,3,4。那么,我该怎么做呢?请帮帮我。

谢谢

2 个答案:

答案 0 :(得分:0)

你没有在map()中返回任何内容。您只需在循环的每次迭代中将每个值分配给全局变量。因此,您提醒的是最后一个值

尝试

$("#" + id).click(function() {

  var ids = $('.state:checked').map(function() {
    return this.value;
  }).get().join(', ');

  console.log(ids);
  alert(ids);
});

答案 1 :(得分:0)

我没有评论的声誉所以我必须写在这里。 看来你需要每个都不符合你的要求和 你可以参考这个 jQuery map vs. each检查你的要求。