使用 jQuery
对于 jQuery,这样的事情非常简单:
$("form").on("click", ":checkbox[name^='toggle_']", function(event){
$( "#" + event.target.name.split('_')[1] )
.toggle( event.target.checked );
});
但是你不应该仅仅将 jQuery 用于这样的事情——那将是矫枉过正。
老式的 JavaScript,你祖父的方式。
这是一个快速实现(在 IE7+ 中测试)。它的工作原理是提取相应的元素以隐藏被单击的复选框的名称。
<form name="myform">
<input name="toggle_checkBox" type="checkbox" checked />
<div id="checkBox">
If checked, you'll see me.
</div>
</form>
单击此复选框将隐藏其DIV
下方。
var myform = document.forms.myform;
var inputs = myform.getElementsByTagName("input");
function toggleElement () {
var e = event.target || window.event.srcElement;
var display = e.checked ? "" : "none" ;
document.getElementById( e.name.split('_')[1] ).style.display = display;
}
for ( var i = 0; i < inputs.length; i++ ) {
var chk = inputs[i];
if ( chk.type == "checkbox" && /^toggle_/.test( chk.name ) ) {
if ( chk.addEventListener ) {
chk.addEventListener("click", toggleElement, false);
} else if ( chk.attachEvent ) {
chk.attachEvent("onclick", toggleElement);
}
}
}
演示:http: //jsbin.com/ibicul/5