我正在尝试使循环中的表单具有唯一ID。 这个问题只是第一种形式正在工作,其余所有其余的都没有触发jquery代码。
形式:
<?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>
答案 0 :(得分: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 ) : ?>
然后改变symultanious
答案 1 :(得分:1)
您正在使用
var id = $(".id").val();
var value = $(".check").val();
以及$(".id")
和`$(“。check”)'将返回的是对象。
所以你需要将它转换为键值对的字符串,然后发送它。
另请参阅Gautam对foreach
更正的回答。
ONE MORE
您正在重复checkbox-2-1
ID复选框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()