【发布时间】:2012-03-28 08:57:25
【问题描述】:
我目前正在尝试在用户尝试取消选择某个选项时添加 JavaScript 确认消息。
如果用户在确认屏幕上选择取消,则该复选框应保持选中状态。我遇到的问题是,即使我返回 false,复选框也会被取消选中。
代码示例可以在这里找到http://jsfiddle.net/Amjzv/
HTML
<div class="ServiceDesc Alternate">
<span class="expandable">
<input id="ctl01_chk" type="checkbox" name="ctl01$chk" checked="checked">
</span>
</div>
jQuery
$(document).ready(function () {
//each load to persist state
$('.expandable').each(function () {
ToggleCheckboxes($(this),false);
});
$('.expandable').click(function () {
ToggleCheckboxes($(this),true);
});
});
//toggle child checkbox show/hide
function ToggleCheckboxes(checkboxSpan, showConfirm) {
if (checkboxSpan.find(':checked').length > 0) {
checkboxSpan.parent().find('.indent').show();
}
else {
if (showConfirm) {
var answer = confirm("Are you sure?");
if (answer) {
checkboxSpan.parent().find('.indent').hide();
}
else {
return false;
}
}
else {checkboxSpan.parent().find('.indent').hide();}
}
}
【问题讨论】:
-
感谢您的所有回答。所有都是有效的,但接受的答案以最少的努力解决了问题。
标签: javascript jquery html