0

我有这个 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 代码将完成它的工作。

但构造必须像 variable: myform.variable.value

如何通过 jQuery 仅获取选中的框?

4

1 回答 1

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()});
于 2013-01-23T13:12:36.280 回答