我没有使用表格,而是使用下面的HTML,在col1中显示复选框,在col2中显示名称,在col3中显示EMail地址。HTML看起来像这样:
<div class="rowLight">
<div class="select"><input name="checkbox" id="chk1" class="chktbl" type="checkbox"></div>
<div class="name">Mary</div><div class="emayl">Mary@ABC.com</div>
</div>
<div class="rowDeep">
<div class="select"><input name="checkbox" id="chk2" class="chktbl" type="checkbox"></div>
<div class="name">Jerry</div><div class="emayl">Jerry@ABC.net</div>
</div>
我需要遍历每个复选框,如果复选框被选中,则捕获将发送到Web服务的名称和电子邮件地址,该Web服务将填充EMail表。我试过这样的东西,但需要帮助...
var vals = [];
$('.select input[type="checkbox"]:checked').each(function(i) {
var name = $(this).next('.name');
vals.push(($(name).html());
var emayl = $(this).next('.emayl');
vals.push(($(emayl).html()); });
谢谢
杰瑞
3条答案
按热度按时间baubqpgj1#
这样的东西可能会起作用:
请注意,数据如下所示:
示例:http://jsfiddle.net/andrewwhitaker/rMPDH/
如果你真的只想把数据放在一个数组中:
您可以尝试:
示例:http://jsfiddle.net/andrewwhitaker/4GdC8/
备注:
.map
获取jQuery结果并将其转换为所需的数据。.map
调用结束时调用.get()
,强制将结果对象放入正确的数组中(与jQuery对象相反).closest()
、.next()
和.siblings()
检索正确的数据。jjhzyzn02#
下面是另一种解决方案,使用
rowDeep
和rowLight
符号化行DEMO
3phpmpom3#
检查这个小提琴,打开您的浏览器JavaScript控制台,即Chrome或Firefox中的firebug。http://jsfiddle.net/q2jsp/12/
根据jquery的版本,你可以使用siblings()或next().next()。