我需要拒绝更改任何复选框的状态的状态:拒绝改变复选框
window.doNotChange = function(event) {
e = event || window.event;
if (e) {
e.stopPropagation();
e.preventDefault();
var t = $(e.target);
t.prop({checked: typeof t.attr('checked') != 'undefined'});
}
alert('Deny to change THIS checkbox!');
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><label><input type="checkbox" checked onchange="doNotChange(event)"> name 1 (readonly)</label></p>
<p><label><input type="checkbox" onchange="doNotChange(event)"> name 2 (readonly)</label></p>
<p><label><input type="checkbox" checked> name 3 (editable)</label></p>
<p><label><input type="checkbox" checked onchange="doNotChange(event)"> name 4 (readonly)</label></p>
<p><label><input type="checkbox"> name 5 (editable)</label></p>
<p>etc.</p>
此代码的工作。但有没有更好的解决方案?
我不好意思这段代码:t.prop({检查:typeof运算t.attr( '检查')= '不确定'}); – 2014-11-22 17:23:28
是的。我也是。无法理解逻辑。 – 2014-11-22 17:25:44
任何复选框,我添加onchange事件,必须是只读的。并点击它们必须是一个警报。 – 2014-11-22 20:49:18