如何在更改时从下拉值中删除输入属性
How to remove input attribute from dropdown value onchange?
我的表单中确实有两个表单元素,如下所示。
<div class="col-xs-12 col-sm-9">
<select class="input-medium" name="state">
<option value="0">-----------</option>
<option value="ACT">ACT</option>
<option value="NSW">NSW</option>
<option value="VIC">VIC</option>
</select>
</div>
<div class="form-group">
<label class="control-label" for="suburb">Suburb:</label>
<div class="col-xs-12 col-sm-9">
<input type="text" name="suburb" id="suburb" class="col-xs-12 col-sm-4" disabled>
</div>
</div>
我的问题是,只有当用户从下拉列表中选择一个选项时,我才需要从input
中删除disabled
属性。
我就是这样尝试的:
$('#state').on('change',function(){
var inp = $('#suburb').get(0);
if(inp.hasAttribute('disabled')) {
inp.removeAttribute('disabled');
}
else {
inp.setAttribute('disabled' , 'disabled');
}
});
但这对我不起作用。希望有人能帮我。
我稍微更改了您的代码;
首先,我为组合框添加了id字段,然后删除了get-first-one语法以使用jquery,并将所有与属性相关的值更改为prop。
<select class="input-medium" id="state" name="state">
我也进行了测试,这是有效的。
var inp = $('#suburb');
if($('#state').val() == '0') {
inp.prop('disabled', true); }
else {
inp.prop('disabled', false);
}
再更新一次,我们可以在一行中写下这一次。
$('#state').on('change',function(){
$('#suburb').prop('disabled', ($('#state').val() == '0'));
});
工作可以在上找到http://jsfiddle.net/h9vvacfq/8/
相关文章:
- 在不知道深度或父属性的情况下从对象中删除属性
- 如何从对象中删除属性
- 使用jQuery添加和删除属性
- 为什么没有从数组中存在的对象中删除属性
- 删除属性后刷新DOM,而不象chrome那样刷新页面
- Jquery 在当前之前从元素中删除属性
- 在窗口调整大小时删除属性
- 如何从使用 jquery 添加的项中删除属性
- 从 JavaScript 中的 XAML 元素中删除属性
- 主干模型.未设置不删除属性
- 无法在单击时添加/删除属性
- 从主干.js模型中删除属性
- 如果选中复选框,请删除属性
- jQuery单击功能可从元素中删除属性并在单独单击时恢复属性
- 如果找到特定类,如何添加和删除属性
- 如何使用 Javascript 从 DOM 元素中删除属性
- 从 Javascript 对象中删除属性
- 量角器未知错误,从 DOM 中删除属性
- 如何使用jquery onchange事件在HTML中添加和删除属性
- 如何从任何级别的嵌套javascript对象中删除属性