为什么不能将禁用的复选框更改为启用?

时间:2019-07-25 02:38:32

标签: javascript jquery checkbox disable

一个简单的问题,因此在发布此内容之前,我确保尝试了很多解决方案。我有一个复选框,但似乎无法启用它。

使用香草JS,我尝试删除该属性,并将Disabled标志设置为false,并且还使用jQuery尝试不成功使用Prop。

'''html

<input type="checkbox" id="chkAllowToAdminService" name="chkAllowToAdminService" disabled="disabled" data-init-plugin="switchery">

'''

我尝试了以下操作,但都无法正常工作(香草JS和jQuery)

'''

document.getElementById('chkAllowToAdminService').disabled = false;
document.getElementById('chkAllowToAdminService').removeAttribute('disabled);
$('#chkAllowToAdminService').prop("disabled", false);

'''

完全没有错误消息,似乎什么也没发生。

3 个答案:

答案 0 :(得分:0)

//在jQuery中

$('#chkAllowToAdminService').attr('disabled','disabled'); // Add disabled
$('#chkAllowToAdminService').removeAttr('disabled',''); // Remove disabled

//或

$("#chkAllowToAdminService").attr("disabled",true);
$("#chkAllowToAdminService").attr("disabled",false);

//在JavaScript中

document.getElementById("chkAllowToAdminService").disabled = true;
document.getElementById("chkAllowToAdminService").disabled = false;

答案 1 :(得分:0)

要删除属性,您可以使用removeAttribute(name)。就您而言:


const checkbox = document.querySelector('#chkAllowToAdminService')

checkbox.removeAttribute('disabled')

设置属性setAttribute(name, value)

答案 2 :(得分:0)

我认为您可能有两个问题:

  1. 确保您具有元素'chkAllowToAdminService'的唯一ID,没有其他元素具有相同的ID。

  2. 在您的remove属性syntex中:document.getElementById('chkAllowToAdminService').removeAttribute('disabled); 我可以看到引号'终于丢失了。