我有一个附有复选框的商店名称列表。我有另一个属于这些商店的分类法列表。当我点击一家商店时,它只会向我显示具有相同价值的分类法。
我使用这个脚本来做到这一点:
$(document).ready(function () {
$(".store_checkbox").change(function () {
$('div[store_id=' + this.value + ']').toggle(this.checked);
}).change();
});
现在,如果没有选中任何框,我想在我的分类下显示一条消息
怎么可能做到这一点?
我试过了:
$(document).ready(function () {
if($('.store_checkbox').find('input[type=checkbox]:checked').length > 0) {
$("#hidden_taxon_message").show(); // any one is checked
} else {
$("#hidden_taxon_message").hide(); // none is checked
}
});
但它只是隐藏消息,无论是否有选中或未选中的框
我也试过这个:
$(function () {
if($('.store_checkbox').not(':checked')){
alert("no check boxes");
}
});
一起更新脚本
$(document).ready(function () {
$(".store_checkbox").change(function () {
$('div[store_id=' + this.value + ']').toggle(this.checked);
}).change();
if(!$('.store_checkbox').is(':checked')){
$("#hidden_taxon_message").show(); // any one is checked
} else {
$("#hidden_taxon_message").hide(); // none is checked
}
});
最近更新
$(document).ready(function () {
$(".store_checkbox").change(function () {
$('div[store_id=' + this.value + ']').toggle(this.checked);
}).change();
checkIfChecked();
});
$('.store_checkbox').on('change', function () {
checkIfChecked();
});
function checkIfChecked() {
if ($('.store_checkbox:checked').length == 0) {
$("#hidden_taxon_message").show(); // none are checked
} else {
$("#hidden_taxon_message").hide(); // something is selected
}
}
这就是我的 js 文件的样子。该消息似乎没有隐藏。我放对了吗?
标记
<h3>Stores Offered In</h3>
<ul class="multi-column-checkbox">
<% for store in Store.all %>
<li><%= check_box_tag "idea[store_ids][]", store.id,
@idea.stores.include?(store), :class => "store_checkbox" %> <%= store.name %></li>
<% end %>
</ul>
<br />
<hr />
<h3>Taxonomies Offered In</h3>
<% for store in Store.all %>
<% if store.has_taxonomies? %>
<div store_id='<%= store.id %>'>
<h4><%= store.name %></h4>
<ul class="multi-column-checkbox">
<% for taxonomy in store.taxonomies %>
<li><%= check_box_tag "idea[taxonomy_ids][]",
taxonomy.id, @idea.taxonomies.include?(taxonomy) %> <%= taxonomy.name %></li>
<% end %>
</ul>
</div>
<% end %>
<% end %>
<div id="hidden_taxon_message">
no checkboxes are selected
</div>