jQuery 使用复选框 hide/show 内容
jQuery using checkboxes to hide/show content
我有 6 个不同的复选框(一个示例):
<input type="checkbox" class="navigationItem" onclick="showChapter(this)" value="1" checked="checked" >1
我有 6 个不同的章节(一个例子):
<div id="chapter1"> </div>
我需要根据选中的复选框编写一个简单的 jQuery 到 show/hide 章节。
这是我的jQuery:
$(document).ready(function(){
if ($('.navigationItem').is(':checked')){
$($("chapter") + $('.navigationItem').val()).show();
} else {
$($("chapter") + $('.navigationItem').val()).hide();
}
});
但是这不起作用我也试过这样做:
function showChapter(cb){
var x = cb.value;
if($('.navigationItem').is(':checked')){
$("chapter"+x).show();
} else {
$("chapter"+x).hide();
}
}
但这也行不通。我刚刚开始学习 JavaScript 和 jQuery,非常感谢任何帮助我指明正确方向的人,谢谢! :)
$(".navigationItem").change(function(e) {
var chapter = $(this).val();
if($(this).is(":checked")) {
$("#chapter"+chapter).show();
} else {
$("#chapter"+chapter).hide();
}
}
这应该可以解决问题。
$('.navigationItem')
returns 一组对象,所以要 select 一个对象你必须做:
$('.navigationItem').get( 0 ); //or the index you want
对元素使用相同的逻辑,而不是 select 通过 id,这样更容易
由于您正在使用 jQuery,因此您可以删除 onclick="showChapter(this)"
。你只需要这个:
$('.navigationItem').on('change', function() {
var dv = $('#chapter' + $(this).val());
$(this).is(':checked') ? dv.show() : dv.hide();
});
我有 6 个不同的复选框(一个示例):
<input type="checkbox" class="navigationItem" onclick="showChapter(this)" value="1" checked="checked" >1
我有 6 个不同的章节(一个例子):
<div id="chapter1"> </div>
我需要根据选中的复选框编写一个简单的 jQuery 到 show/hide 章节。
这是我的jQuery:
$(document).ready(function(){
if ($('.navigationItem').is(':checked')){
$($("chapter") + $('.navigationItem').val()).show();
} else {
$($("chapter") + $('.navigationItem').val()).hide();
}
});
但是这不起作用我也试过这样做:
function showChapter(cb){
var x = cb.value;
if($('.navigationItem').is(':checked')){
$("chapter"+x).show();
} else {
$("chapter"+x).hide();
}
}
但这也行不通。我刚刚开始学习 JavaScript 和 jQuery,非常感谢任何帮助我指明正确方向的人,谢谢! :)
$(".navigationItem").change(function(e) {
var chapter = $(this).val();
if($(this).is(":checked")) {
$("#chapter"+chapter).show();
} else {
$("#chapter"+chapter).hide();
}
}
这应该可以解决问题。
$('.navigationItem')
returns 一组对象,所以要 select 一个对象你必须做:
$('.navigationItem').get( 0 ); //or the index you want
对元素使用相同的逻辑,而不是 select 通过 id,这样更容易
由于您正在使用 jQuery,因此您可以删除 onclick="showChapter(this)"
。你只需要这个:
$('.navigationItem').on('change', function() {
var dv = $('#chapter' + $(this).val());
$(this).is(':checked') ? dv.show() : dv.hide();
});