循环复选框并收集已检查的名称--JQuery

时间:2011-02-10 21:07:18

标签: jquery html

<input type="checkbox" name="SummaryInformation">Summary Information<br />
                        <input type="checkbox" name="ProductLegs">Product Legs<br />
                        <input type="checkbox" name="AmortizationOptions">Amortization Options<br />
                        <input type="checkbox" name="Values">Values<br />
                        <input type="checkbox" name="Rates">Rates<br />
                        <input type="checkbox" name="RatesSpecific">Rates (All-In-Rate, PV01)<br />
                        <input type="checkbox" name="AmortizationSchedule">Amortization Schedule<br />
                        <input type="checkbox" name="SponsorInfo">Sponsor/Affiliate Info<br />
                        <input type="checkbox" name="BorrowerInfo">Borrower Info<br />
                        <input type="checkbox" name="SponsorContacts">Sponsor/Affiliate Contacts<br />
                        <input type="checkbox" name="CashFlows">Cash Flows<br />
                        <input type="checkbox" name="PrePayment">Pre-Payment<br />
                        <input type="checkbox" name="FutureExposure">Potential Future Exposure<br />
                        <input type="checkbox" name="FutureExposureSpecific">Potential Future Exposure (Max Number and Date Only)<br />
                        <input type="checkbox" name="History">History<br />

我需要在JQuery中循环遍历所有这些并创建一个已检查的名称数组。我该怎么做?

5 个答案:

答案 0 :(得分:4)

var names = [];
$("checkbox:checked").each(function(){
   names.push($(this).attr("name"));
})

你可能想在你想要完成的复选框周围添加一个div,这样你就不会遍历屏幕上的所有复选框。

如果您这样做,选择器将更改为:

$("#mydiv checkbox:checked")

其中mydiv是该div的ID

答案 1 :(得分:1)

var arr = [];

$('input[type=checkbox]').is(':checked').each(function(){
     arr.push($(this).attr('name'));
});

alert(arr.join('-'));

答案 2 :(得分:0)

使用checked selector

$(':checked').each(function(){
  ...
});

答案 3 :(得分:0)

就像

一样简单
$("input:checked").each(...);

以下是现场演示:http://jsfiddle.net/vFmNh/3/

答案 4 :(得分:0)

使用过滤器更快。

$('input')。filter(function(){return this.checked})