1

最近、1つがクリックされたときに一連のチェックボックスを無効にする方法について質問しました。次のコードはそれを行います:jsfiddleの例。私が今抱えている問題、そして以前にテストしておくべき問題は、フォームの送信でした。

チェックボックスはクリックされたままですが、兄弟は無効にする必要があるときに有効のままになります。最初のチェックボックスがクリックされたままで、残りが無効のままになるようにするために、以下で変更する必要があることに関するヒントはありますか?

 $(function () {
      $("#disable").change(function () {
        $(this).closest('.control-group').siblings('.control-group').find('input').attr("disabled", $(this).is(":checked"));
      });
    });
4

1 に答える 1

0

フォームの送信により、ポストバックが発生する可能性があります。あなたが言ったように、このポストバックでチェックボックスがチェックされたままの場合は、次のようにコードを変更できます。

$(function () {
    $("#disable").change(function () {
        $(this).closest('.control-group').siblings('.control-group').find('input').attr("disabled", $(this).is(":checked"));
    }).change();  // trigger this immediately
});
于 2013-01-17T21:13:35.083 に答える