我有这个HTML代码:
<form name="allcats">
<p class='catslist'><label><input type='checkbox' name='cat1' id='cat1' value='1' /> AAAAAAA</label></p>
<p class='catslist'><label><input type='checkbox' name='cat2' id='cat2' value='2' /> BBBBBB</label></p>
<p class='catslist'><label><input type='checkbox' name='cat3' id='cat3' value='3' /> CCCCCC</label></p>
<p class='catslist'><label><input type='checkbox' name='cat4' id='cat4' value='4' /> DDDDDDD</label></p>
<p class='catslist'><label><input type='checkbox' name='cat5' id='cat5' value='5' /> EEEEEEEE</label></p>
<input type="hidden" name="book_id" value="12" /> <br />
<input name="catsadd" id="catsadd" type="button" value="Add catategories" onclick="check();"/>
</form>
我的jQuery代码是:
function check(){
$.post('post__categories.php', { HERE MUST BE THE VARIABLES AND VALUES OF CHECKED checkboxes like ... cat1: allcats.cat1.valu, cat5: allcats.cat5.value},
function(output){
$('#result').hide();
$('#result').html(output).fadeIn("slow");
});
}
我的目标是发送我的已检查变量,之后我的PHP代码将完成它的工作。
但构造必须像变量:myform.variable.value
。
如何通过jQuery仅获取选中的复选框?
答案 0 :(得分:4)
首先,为表单提供一个ID,以便更容易定位:
<form name="allcats" id="allcats">
<p class='catslist'><label><input type='checkbox' name='cat1' id='cat1' value='1' /> AAAAAAA</label></p>
<p class='catslist'><label><input type='checkbox' name='cat2' id='cat2' value='2' /> BBBBBB</label></p>
<p class='catslist'><label><input type='checkbox' name='cat3' id='cat3' value='3' /> CCCCCC</label></p>
<p class='catslist'><label><input type='checkbox' name='cat4' id='cat4' value='4' /> DDDDDDD</label></p>
<p class='catslist'><label><input type='checkbox' name='cat5' id='cat5' value='5' /> EEEEEEEE</label></p>
<input type="hidden" name="book_id" value="12" /> <br />
<input name="catsadd" id="catsadd" type="button" value="Add catategories" onclick="check();"/>
</form>
然后,您需要在请求中序列化表单数据:
$.post('post__categories.php', { $("#allcats").serialize()});