如何在jQuery中获取指定div的选中复选框值
Posted
技术标签:
【中文标题】如何在jQuery中获取指定div的选中复选框值【英文标题】:How to get checked checkbox value of specified div in jQuery 【发布时间】:2015-08-15 21:45:57 【问题描述】:<td id="optrep0">
<input type="checkbox" value="1" class="warna" id="warna" name="warna[]">
<input type="checkbox" value="2" class="warna" id="warna" name="warna[]">
</td>
<td id="optrep1">
<input type="checkbox" value="1" class="warna" id="warna" name="warna[]">
<input type="checkbox" value="2" class="warna" id="warna" name="warna[]">
</td>
<td id="optrep2">
<input type="checkbox" value="1" class="warna" id="warna" name="warna[]">
<input type="checkbox" value="2" class="warna" id="warna" name="warna[]">
</td>
我需要找到指定div
s 的检查值,上面有id
s: optrep0
,optrep1
,optrep2
,我尝试过使用
var optrep0= jQuery(':checkbox:checked').map(function ()
return this.value;
).get();
并将optrep0
变量发送到服务器,但它会发送每个检查的值。所以,我只想为每个变量发送指定的div
s,我也试过了
var optrep0= jQuery('#optrep0>#warna:checkbox:checked').map(function ()
return this.value;
).get();
PS: td id 上的子 id 名称不能按原样更改,我只需要 javascript 示例如何解决这种情况,谢谢 :D
【问题讨论】:
为什么你有相同的id
?
是的。因为服务器固定为选择器发送相同的 id,所以我无法更改名称,但我只能创建父 id 以使选项唯一
所以生成不同的id,例如:warna1
、warna2
,或者使用timestamp
。 :)
我之前说过,子id名称“warna”不能改变,应该按原样使用,因为服务器问题,只需要找到如何解决这种情况
是的,名字是不能改的,但是如果输入生成到一个循环中,就很容易做到,或者使用javascript来做到这一点! ;)
【参考方案1】:
在>
中留出空间并将dot
用于类warna
Live Demo
var optrep0= jQuery('#optrep0 > .warna:checkbox:checked').map(function ()
return this.value;
).get();
【讨论】:
感谢您的快速回答,终于我可以继续前进了:D 再次感谢阿迪尔先生【参考方案2】:通过放置>
尝试使用后代选择器,不要使用:checkbox
,只需要:checked
var optrep0= jQuery('#optrep0 > :checked').map(function ()
return this.value;
).get();
【讨论】:
【参考方案3】:我会说最好的方法是
var optrep0= jQuery('#optrep0 > .warna:checkbox:checked').map(function ()
return this.value;
).get();
DEMO
【讨论】:
以上是关于如何在jQuery中获取指定div的选中复选框值的主要内容,如果未能解决你的问题,请参考以下文章
jquery怎么实现选中一个li然后显示一个div下面的ul