从复选框中删除禁用

Removing disabled from checkbox

我有 2 个样式为切换按钮的复选框。 第二个复选框默认为 disabled。 当第一个复选框是 ja 时,我希望第二个复选框被删除 disabled

我已经用 2 个代码尝试过,但没有成功。 在我的控制台中,我没有看到任何错误。

<div class="checkbox">
  <label>
    <input type="checkbox" id="email_user" name="email_user" data-toggle="toggle" data-size="small" data-on="Ja" data-off="Nee" onclick="remove_disabled()">
    Verstuur melding ook per e-mail naar collega.
  </label>
</div>
<div class="checkbox">
  <label>
    <input type="checkbox" id="email_relatie" name="email_relatie" data-toggle="toggle" data-size="small" data-on="Ja" data-off="Nee" disabled>
    Verstuur een kopie van deze melding naar de relatie.
  </label>
</div>

选项 1

<script type="text/javascript">
function remove_disabled() {
    document.getElementById('email_relatie').disabled = false;
}
</script>

选项 2

<script type="text/javascript">
function remove_disabled() {
    document.getElementById('email_relatie').removeAttr('disabled')
}
</script>

使用.prop()

$("[type='checkbox']").prop("disabled", false);

你可以这样使用:

$("input[name='email_relatie']").prop("disabled", false);

我猜您希望在取消选中第一个复选框后再次禁用该复选框,否则您给定的代码将起作用。您可以通过在选中第一个复选框时将 disabled 属性设置为 false 来实现此目的,在未选中时将其设置为 true。

function toggle_disabled() {
    document.getElementById('email_relatie').disabled = !document.getElementById('email_user').checked;
}
 <label>
    <input type="checkbox" id="email_user" name="email_user" data-toggle="toggle" data-size="small" data-on="Ja" data-off="Nee" onclick="toggle_disabled()">
    Verstuur melding ook per e-mail naar collega.
  </label>
</div>
<div class="checkbox">
  <label>
    <input type="checkbox" id="email_relatie" name="email_relatie" data-toggle="toggle" data-size="small" data-on="Ja" data-off="Nee" disabled>
    Verstuur een kopie van deze melding naar de relatie.
  </label>
</div>
Option 1

对我来说,document.getElementById("email_relatie").disabled = false; 工作得很好。只需使用 change 处理程序并检查复选框是否被选中:

function remove_disabled() {
  if(document.getElementById("email_user").checked)
    document.getElementById("email_relatie").disabled = false;
  else 
    document.getElementById("email_relatie").disabled = true;
}
<div class="checkbox">
  <label>
    <input type="checkbox" id="email_user" name="email_user" data-toggle="toggle" data-size="small" data-on="Ja" data-off="Nee" onchange="remove_disabled()">
    Verstuur melding ook per e-mail naar collega.
  </label>
</div>
<div class="checkbox">
  <label>
    <input type="checkbox" id="email_relatie" name="email_relatie" data-toggle="toggle" data-size="small" data-on="Ja" data-off="Nee" disabled>
    Verstuur een kopie van deze melding naar de relatie.
  </label>
</div>

你试过了吗?

<input type="checkbox" ... disabled="disabled">

document.getElementById('email_relatie').removeAttr('disabled');