1. ホーム
  2. jquery

[解決済み】jQueryで入力不可属性をトグルする。

2022-04-12 01:04:56

質問

以下は私のコードです。

$("#product1 :checkbox").click(function(){
    $(this)
        .closest('tr') // Find the parent row.
            .find(":input[type='text']") // Find text elements in that row.
                .attr('disabled',false).toggleClass('disabled') // Enable them.
                .end() // Go back to the row.
            .siblings() // Get its siblings
                .find(":input[type='text']") // Find text elements in those rows.
                .attr('disabled',true).removeClass('disabled'); // Disable them.
});

トグルの方法は? .attr('disabled',false); ?

Googleで検索しても出てこないようです。

どのように解決するのですか?

$('#el').prop('disabled', function(i, v) { return !v; });

があります。 .prop() メソッドは2つの引数を受け取ります。

  • プロパティ 名称 (disabled, checked, selected) true か false のどちらかであるもの。
  • プロパティ になる、ことができる。
    • ( ) - 現在の値を返します。
    • ブーリアン (true/false)-プロパティ値を設定します。
    • 機能 - 見つかった要素ごとに実行され、返された値がプロパティの設定に使用されます。渡される引数は2つで、最初の引数は インデックス (0,1,2,見つかった要素ごとに増加)。2番目の引数は,現在の を指定します(true/false)。

つまり今回は、インデックス(i)と現在値(v)を与える関数を使って、現在値の逆を返したので、プロパティの状態が逆転しているわけです。