我正在编写一个表单,我希望有这个功能:
如果您点击美国作为您所在的国家/地区,则某些输入会被解锁(在禁用之前)。我在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>
问题在于我从未实现过字段显示为解锁状态。
答案 0 :(得分:0)
我认为有几件事可以帮助你。首先,正如 @Eevee 指出的那样,在设置DOM属性时,应该使用.prop()
函数而不是.attr()
函数。
其次,语法habilita : function()
用于对象。但是,habilita
或deshabilita
似乎不在对象中(除非代码中有更多内容)。我不相信这是有效的。
请尝试以下方法:
$('option#usa').click(function(){
$('.inputText').prop('disabled', false);
});
var habilita = function() {
$(".inputText").prop('disabled', false);
};
var deshabilita = function() {
$(".inputText").prop('disabled', true);
};