通过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

+0

可能在渲染页面时将id放在隐藏字段中? (但我认为隐藏的领域是不好的做法) –

+0

但我如何得到'数据'?将它追加到'data'的末尾给出'531','571'等我需要'53','57','1' – terrid25

+0

使用$ _GET ['id']从url获得id,然后add它到另一个领域。沿着'echo'的行';'你将不得不将隐藏的字段发送到ajax.php。 –

如果<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。