我想发布到php,id为EmpAgree1时,然后发布变量EmpAgree = 1;当id为EmpAgree2时,它是发布变量EmpAgree = 2,依此类推。但是它只是读取了i的最后一个值,为什么呢?以及如何解决呢?

谢谢

$(document).ready(function() {
    var i;
    for(i=1; i <= <?php echo sizeof($id) ?> ; i++) {
        $("#EmpAgree"+i).click(function() {
            $.post("information_receiving.php", {
            EmpAgree : i
            });

            document.location.href="information_receiving.php";
        });
     }

最佳答案

在这种情况下,您将使用i的最后一个值,即(sizeof($ id))。
要解决此问题,请尝试将数字存储在#EmpAgree元素中:

$(document).ready(function() {
var i;
for( i=1; i <= <?php echo sizeof($id) ?> ; i++){
 $("#EmpAgree"+i).data('nbr', i).click(function(){
     $.post("information_receiving.php",{
         EmpAgree : $(this).data('nbr')
});
   document.location.href="information_receiving.php";
});
}

09-25 20:30