Javascript 创建带有显示/隐藏条目的复选框系统-如何?
所以,我所要做的就是为一系列表字段创建类 每个类可以多次应用于每个表字段 在Javascript中,我想创建一个脚本,与一系列复选框相关。当选中或取消选中每个复选框时,相关的类将消失 例如:Javascript 创建带有显示/隐藏条目的复选框系统-如何?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,所以,我所要做的就是为一系列表字段创建类 每个类可以多次应用于每个表字段 在Javascript中,我想创建一个脚本,与一系列复选框相关。当选中或取消选中每个复选框时,相关的类将消失 例如: <input type="checkbox" id="checkbox1" name="check" value="Number1" checked> Contents <br> <input type="checkbox" id="checkbox2" name="check
<input type="checkbox" id="checkbox1" name="check" value="Number1" checked> Contents <br>
<input type="checkbox" id="checkbox2" name="check" value="Number2" checked> Contents <br>
<input type="checkbox" id="checkbox3" name="check" value="Number3" checked> Contents <br>
<input type="checkbox" id="checkbox4" name="check" value="Number4" checked> Contents <br>
我似乎只能在不使用jQuery的情况下实现这一点,并且只能通过getElementById
使用类,但不能使用任何类似getElementByClassName
的“类”变体
它不起作用
很抱歉用这些废话堵塞了internet。将每个复选框中的值更改为数字1-4。然后尝试以下代码:
$("input[type='checkbox']").change(function() {
var value = $(this).attr("value");
$('.class' + value).toggle(this.checked);
});
现在,每次单击复选框时,都会触发此代码,找到相应的值,并隐藏或显示相关类
<input name="filter" type="checkbox" value="class-1" /> Class 1
<input name="filter" type="checkbox" value="class-2" /> Class 2
<input name="filter" type="checkbox" value="class-3" /> Class 3
<input name="filter" type="checkbox" value="class-4" /> Class 4
这是JavaScript,不是JavaI在您的标记中没有看到任何类您可以将其核心缩短为
$('.class'+value).toggle(this.checked)代码>谢谢你的编辑,我不知道我能用这一行完成所有的事情:).candodo$('.class'+$(this.val()).toggle(this.checked)代码>顺便说一句,也谢谢你。我为我的方言道歉,我仍在努力理解Javascript。
<input name="filter" type="checkbox" value="class-1" /> Class 1
<input name="filter" type="checkbox" value="class-2" /> Class 2
<input name="filter" type="checkbox" value="class-3" /> Class 3
<input name="filter" type="checkbox" value="class-4" /> Class 4
function SetFilter()
{
var checked = new Array();
$("input[type='checkbox'][name='filter']:checked").each(function(){
checked.push("." + $(this).val());
});
var value = checked.join(",");
$("tr").filter(":not(" + value + ")").hide();
$("tr").filter(value).show();
}
$("input[type='checkbox'][name='filter']").change(SetFilter);
SetFilter();