我有一个有复选框的电视台列表,我正在尝试编写一个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'));
});
答案 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;