通过Ajax的jquery和复选框数据
问题描述:
我想创建一组复选框,我可以检查并通过ajax发送。通过Ajax的jquery和复选框数据
我正在寻找理想地做的是通过AJAX来发送一些信息到PHP脚本,the checkbox that has been checked
也是一个id
的id
是基于URL的,所以我可以得到使用$_GET['id']
。
所以,如果用户选中这两个框,需要发送到PHP脚本中的值将是:
53
57
1
- 在这个值是在URL中的值。
我有以下至今:
<input type="checkbox" name="test[]" value="53" id="part_shipping" />
<input type="checkbox" name="test[]" value="57" id="part_shipping" />
<input name="confirm" type="button" value="confirm" />
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script type="text/javascript">
$('input[type=button]').click(function() {
$(":checked").each(function() {
var value = $(this).val();
id = 'id:1';
data = 'shipping:' + value;
console.log(data);
});
$.post("ajax.php", data);
});
</script>
如何追加数据中的ID,所以它读取: shipping:53 shipping:57 id:1
答
如果<input>
标签还不是<form>
内,再加入一个:
<form id="myForm">
...
<input type="checkbox" name="test[]" value="53" id="part_shipping" />
<input type="checkbox" name="test[]" value="57" id="part_shipping" />
<input name="confirm" type="button" value="confirm" />
...
</form>
现在,你可以使用jQuery的.serialize()
来组成一个数据串格式的“名1 =值1 & 2 =值2 & NAME3 =数值3”等,其中的名称作为HTML给出:
$(function() {
$('input[type=button]').click(function() {
$.post("ajax.php", $("#myForm").serialize());
});
});
复选框只会出现在序列化形式,如果他们被选中。我想我说的是该按钮不会包含在序列化中。
这样做的好处是,脚本是响应设计形式的变化。如果您添加或删除字段,则不需要更改javascript。
可能在渲染页面时将id放在隐藏字段中? (但我认为隐藏的领域是不好的做法) –
但我如何得到'数据'?将它追加到'data'的末尾给出'531','571'等我需要'53','57','1' – terrid25
使用$ _GET ['id']从url获得id,然后add它到另一个领域。沿着'echo'的行';'你将不得不将隐藏的字段发送到ajax.php。 –