默认情况下禁用 jquery 的输入


Disable inputs with jquery by default

我想默认禁用输入,我有一个允许启用它们的复选框;所以我的复选框代码是:

function toggleStatus() {
  if ($('#toggleElement').is(':checked')) {
    $('#elementsToOperateOn :input').attr('disabled', true);
  } 
  else {
    $('#elementsToOperateOn :input').removeAttr('disabled');
  }
}

它是在带有 onchange="toggleStatus()"; 的输入中调用的,但输入的默认状态已启用,我不想在每个输入中添加 disabled="disabled",我如何使用 jQuery 做到这一点? 我怎样才能让它与现有的 onchange 一起工作?

$(function(){
    $('#elementsToOperateOn :input').prop('disabled', true);
});

在 DOM 准备就绪时禁用输入。

好的更新后,答案就更简单了,只需触发onchange事件:

要么具有:

toggleStatus();

或与

$('#toggleElement').change();

使用 .prop 而不是 .attr

$(':input').prop('disabled', true);

试试这个。

$(document).ready(function() {
    $('input, select').not('#toggleElement').attr('disabled', true);
});

让jquery在启动时遍历每个输入字段并添加禁用的属性

$(document).ready(function(){
    $('input').each(function(){
      $(this).attr("disabled", "disabled");
      });
    });

对于切换脚本,请使用类选择器

$('.elementsToOperatOn').each(function(){
  $(this).removeAttr('disabled');
});