1

I'm trying to make a form that is in a loop has a unique id. The issue with this is only the first form is working and all the rest after is not triggering the jquery code.

Form:

<?php foreach( $tasks as $tasks ) : ?>
<tr>
    <td><?php echo $tasks->title ?></td>
    <td><?php echo $newDate; ?></td>
    <td><?php echo $tasks->details ?></td>
    <td><?php echo $tasks->category ?></td>
    <td>

<form class="noclass">
    <input class="hideit id" type="text" name="id" value="<?php echo $tasks->id ?>" />
    <input type="checkbox" value="<?php echo $tasks->user ?>" name="value" id="checkbox-2-1" class="regular-checkbox big-checkbox" <?php echo $tasks->user ?> />
</form>

</td>
</tr>
<?php endforeach; ?>

Jquery:

<script>
    $(function() {
        $('#checkbox-2-1').click(function() {
            var id = $(".id").val();
            var value = $(".check").val();
            var dataString = '?id=' + id + '&value=' + value + '&user=<?php echo $id ?>';
            alert(dataString);

            $.ajax({
                type: "POST",
                url: "http://example.com/process.php",
                data: dataString,
                cache: false,
            });
        })
    })
    return false;
</script>
4

2 回答 2

1

您正在使用

var id = $(".id").val();  
var value = $(".check").val();

$(".id")`$(".check")' 将返回的是对象。

所以你需要把它转换成键值对的字符串然后发送。

另请参阅 Gautam 答案以进行foreach更正。

多一个

您重复checkbox-2-1id 以执行复选框 evert-time 循环,并且每个 dom 的 ID 必须是唯一的。

我的建议

使用如下代码。

对于复选框单击事件使用

$('input:ckeckbox[name="value"]').on('change',function(){ });

并在内部function(){ }编写代码以获取和的值,class id如下check所示

$(this).closest('form.noclass').find('.id').val();
$(this).closest('form.noclass').find('.value').val()
于 2013-06-06T05:20:31.950 回答
1

你的第一个表格没有关闭......像这样关闭

<form class="noclass">
    <input class="hideit id" type="text" name="id" value="<?php echo $tasks->id ?>" />
</form>
<form class="noclass">
    <input class="hideit id" type="text" name="id" value="<?php echo $tasks->id ?>" />
    <input type="checkbox" value="<?php echo $tasks->user ?>" name="value" id="checkbox-2-1" class="regular-checkbox big-checkbox" <?php echo $tasks->user ?> />
</form>

是什么

<?php foreach( $tasks as $tasks ) : ?>

尝试给出另一个变量,例如

<?php foreach( $tasks as $task ) : ?>

然后改变同步

于 2013-06-06T05:16:17.610 回答