如果选中复选框,请删除属性
If Checkbox is checked, remove attribute?
<div class="span1">
<input type="checkbox" value="l4" id="l4" field="" defaultValue="" appEditor="true"/>
</div>
<div class="span7">
<input type="text" class="m-wrap span10" id="fld_l4" defaultValue="" editType="intEdit" appEditor="true" disabled />
</div>
我想做的是,如果选中复选框,请删除fld_l4中禁用的。
如何使用 Prototype.js 或 jQuery 来做到这一点?
编辑:我正在使用带有jQuery的原型我收到一个错误:Uncaught InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable.
顺便说一下,我用 jQuery 替换了 $ 以解决冲突
编辑2:已解决。
this.l4 = editor.instance;
editor.observe(iconstants.KEY_CHANGE,this.levelCheckboxChanged.bindAsEventListener(this))
内部级别复选框已更改:
levelCheckboxChanged: function(e) {
if($("l4").checked == false) {
$("fld_l4").disabled = true;
} else {
$("fld_l4").disabled = false;
}
},
你可以这样做
$('#l4').change(function(){
if(this.checked){
$("#fld_l4").removeAttr('disabled');
}
})
演示链接
这种方式应该有效:
$("#l4").on("change", function () {
$("#fld_l4").prop("disabled", !$(this).is(":checked"));
});
js小提琴:http://jsfiddle.net/J5Nt2/1/
这是使用 PrototypeJS 执行此操作的方法
在 DOM 加载事件中
document.observe('dom:loaded',function(){
$('l4').observe('click',function(){
$('fld_l4').writeAttribute('disabled',this.checked);
});
});
另外,您可能想更改"14"浏览器的id,不喜欢您以数字开头的id-他们允许您这样做,但它不是HTML规范的一部分
试试这个,
if( $("#l4:checked").length ) {
$("#fld_l4").removeAttr("disabled");
}
试试这个:
if( $("#l4").is(":checked") ) {
$('#fld_l4').removeAttr('disabled');
}
相关文章:
- 在不知道深度或父属性的情况下从对象中删除属性
- 如何从对象中删除属性
- 使用jQuery添加和删除属性
- 为什么没有从数组中存在的对象中删除属性
- 删除属性后刷新DOM,而不象chrome那样刷新页面
- Jquery 在当前之前从元素中删除属性
- 在窗口调整大小时删除属性
- 如何从使用 jquery 添加的项中删除属性
- 从 JavaScript 中的 XAML 元素中删除属性
- 主干模型.未设置不删除属性
- 无法在单击时添加/删除属性
- 从主干.js模型中删除属性
- 如果选中复选框,请删除属性
- jQuery单击功能可从元素中删除属性并在单独单击时恢复属性
- 如果找到特定类,如何添加和删除属性
- 如何使用 Javascript 从 DOM 元素中删除属性
- 从 Javascript 对象中删除属性
- 量角器未知错误,从 DOM 中删除属性
- 如何使用jquery onchange事件在HTML中添加和删除属性
- 如何从任何级别的嵌套javascript对象中删除属性