Issue removeAttr("disabled")

Issue removeAttr("disabled")

本文关键字:quot disabled removeAttr Issue      更新时间:2023-09-26

我正在编程一种形式,我想有这个功能:

如果您点击美国作为您的国家,一些输入将被解锁(在禁用之前)。我在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>

问题是我从来没有实现字段显示为未锁定。

我相信有几件事能帮到你。首先,正如@Eevee所指出的,在设置DOM属性时应该使用.prop()函数而不是.attr()函数。

其次,对象中使用habilita : function()语法。然而,habilitadeshabilita似乎不在对象中(除非您的代码中有更多内容)。我不相信这是有效的。

试试下面的命令:

$('option#usa').click(function(){
    $('.inputText').prop('disabled', false);
});
var habilita = function() { 
    $(".inputText").prop('disabled', false);
};
var deshabilita = function() { 
    $(".inputText").prop('disabled', true); 
};