-1

デフォルトで入力を無効にしたいのですが、それらを有効にできるチェックボックスがあります。チェックボックスの私のコードは次のとおりです。

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

入力で呼び出されonchange="toggleStatus()";ますが、入力のデフォルトステータスは有効になっており、各入力に disabled="disabled" を追加したくないのですが、jquery でどのようにすればよいですか? どうすれば既存の onchange で動作させることができますか?

4

4 に答える 4

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

DOMの準備ができたら、入力を無効にします。

OK更新後、答えはさらに簡単になりonchangeます。イベントをトリガーするだけです。

いずれか:

toggleStatus();

またはと

$('#toggleElement').change();
于 2012-06-11T22:04:08.623 に答える
1

.propの代わりに使用.attr:

$(':input').prop('disabled', true);
于 2012-06-11T22:03:48.763 に答える
0

これを試してください。

$(document).ready(function() {
    $('input, select').not('#toggleElement').attr('disabled', true);
});
于 2012-06-11T22:04:27.680 に答える
0

jqueryに起動時に各入力フィールドを調べさせ、無効な属性を追加させます

$(document).ready(function(){

    $('input').each(function(){

      $(this).attr("disabled", "disabled");

      });
    });

トグルスクリプトには、クラスセレクターを使用します

$('.elementsToOperatOn').each(function(){
  $(this).removeAttr('disabled');
});
于 2012-06-11T22:06:25.643 に答える