检查是否选中了一个复选框jquery

时间:2014-05-16 15:07:33

标签: javascript jquery checkbox

我有一个有复选框的电视台列表,我正在尝试编写一个jquery函数来检查复选框是否已选中,但我正在做的是空的,所以我不确定如何检查框是否是检查。 html和函数在下面。

<div class="offline-data">
  <div class="stations-container">
    <% TelevisionStation.each do |station| %>
      <div class="offline-station" id="television-stations">
        <div class="checkbox">
          <label>
            <input type="checkbox" value="<%= station.id%>"> <%= station.name%> (<%= station.affiliate%>)</input>
          </label>
        </div>
      </div>
    <% end %>
  </div>

要检查的功能是选中此框,这会在点击事件中发生。

$('#television-stations').find('input:checked').each(function () {
  television_stations.push($(this).attr('value'));
});

2 个答案:

答案 0 :(得分:1)

我不确定您是否正确使用.find方法。如何将一个类添加到称为station的所有工作站复选框:

<input type="checkbox" class='station' ... >

然后将你的jquery改为:

$('#television-stations').find('.station').each(function () {
television_stations.push($(this).attr('value'));
});

在阅读了阿列克的评论后,我相信他是对的。 ID =电视台在哪里?一个更好的jquery线将是:

$('.station').each(function () {
television_stations.push($(this).attr('value'));
});

答案 1 :(得分:1)

对于div(id =电视台)内的一系列复选框,您可以通过

获取已选中的复选框列表
var boxes = $('div#television-stations input[type=checkbox]');

var boxes = $("#television-stations").children("input:checked");

然后循环浏览它们,看看你能做什么

var television_stations = [];
$(boxes).each(function(){
    television_stations.push($(this).val());
});

查找可以执行的检查次数

$(boxes).length;