【发布时间】:2014-05-22 16:04:27
【问题描述】:
我正在编写一个表单,我想拥有这个功能:
如果您点击美国作为您的国家/地区,某些输入将被解锁(在它们被禁用之前)。我在 jquery 中创建了这段代码:
$('option#usa').click(function(){
$('.inputText').attr('disabled', false);
})
habilita : function(){
$(".inputText").removeAttr("disabled");
}
deshabilita: function(){
$(".inputText").attr("disabled","disabled"); }
在 HTML 文档中我有这个:
<span class="texto azul">Country</span><select class="caja" name="country">
<option value="">Country...</option>
<option value="Afganistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="United States of America" onclick="habilita()">USA</option>
</select>
<span id="usa" class="texto azul">HCP Designation</span><select name="hcp" disabled="disabled" class="caja inputText">
<option value="des">Designation...</option>
<option value="md">MD</option>
</select><br /><br />
<span id="texto" class="texto azul">If other, please specify</span>
<textarea class="caja inputText" name="texto" disabled="disabled"></textarea><br /><br />
<span class="texto azul">State of Licensure</span><input class="caja inputText" name="state" type="text" disabled="disabled"/><br /><br />
<span class="texto azul">License number</span><input class="caja inputText" name="license" type="text" disabled="disabled"/><br /><br />
</form>
问题是我从来没有实现这些字段看起来是解锁的。
【问题讨论】:
-
制作一个 jsfiddle,我们可以更轻松地提供帮助。
-
你可能想要
.prop('disabled', false)。该属性只是一个属性; DOM 属性实际上控制它是否被禁用。 -
这是您的实际代码吗?如果是这样,最后两个示例是对象语法,但它们不在对象中。我不认为它是那样工作的。
-
@eevee,删除该属性也应该可以正常工作。布尔属性和 DOM 属性是紧密耦合的。
-
问题是没有名称为
habilita和dishabilita的函数,因为你的语法是关闭的。查看有关函数的教程,例如developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions
标签: javascript jquery html attr disabled-input