joh*_*les 3 javascript checkbox undo
嗨,我创建了一个javascript函数来检查所选模块的数量是否大于给定值.因此,每次调用一个复选框时,都会调用该函数,该函数会遍历所有复选框并计算总数以查看它是否更大.但问题是当用户选中复选框并且总信用额大于该值时,我想将复选框设置为checked = false.但我没有撤消哪个复选框.在javascript中有任何撤消最终点击功能吗?
不是真的,但你可以通过保存最后一个单击框来轻松伪造它.这段代码可能不会逐字逐句,但你明白了:
<script>
var last_checked_box;
function onBoxClicked( box ) {
if ( box.checked ) last_checked_box = box;
}
function undoLastBox() {
if ( last_checked_box ) last_checked_box.checked = false;
}
</script>
<input type="checkbox" id="box1" onClick="onBoxClicked(this)"/>
...
Run Code Online (Sandbox Code Playgroud)
使用jQuery,您可以执行以下操作:
var MAX_CREDITS = 50; // just as an example
$("input[type=checkbox]").change(function (){
var totalCredits = 0;
$("input[type=checkbox]").each(function (){
// augment totalCredits accordingly to each checkbox.
});
if(totalCredits > MAX_CREDITS){
$(this).removeAttr("checked");
}
});
Run Code Online (Sandbox Code Playgroud)
如果你之前从未使用过jQuery,那肯定会让你眼前一亮; 但正如你所看到的,它非常强大,你的问题可以用几行来解决.我建议你学习它并尝试一下;)
| 归档时间: |
|
| 查看次数: |
4186 次 |
| 最近记录: |