3

最初から始めましょうが、パニックにならないでください... Jqueryの問題です;-)

私は PHP コードを書いています。ユーザーがクエリをデータベースに送信すると、フォームにはテーブルにグループ化された一連の結果が表示され、データを選択するためのチェックボックスが表示されます。

Jqueryコードを選択/選択解除チェックボックスで実行して、各テーブルのデータ、つまり各結果セットを選択/選択解除する方法を知りたいです。

たとえば、この例のようなものhttp://www.wiseguysonly.com/2010/01/15/select-and-unselect-all-checkboxes-with-jquery/

1: すべてのチェックボックスには「checkbox」のクラスがあります: input type="checkbox" class="checkbox"</p>

function toggleChecked(status) {
    $(".checkbox").each( function() {
        $(this).attr("checked",status);
    });
}

toggleChecked 関数を変更する最良の方法を教えてください。

".checkbox" を 2 番目のパラメーター値に置き換えるために、toggleChecked を呼び出す 2 番目のパラメーターは? (私はそれを行うための正しい構文を見つけることができません)。

それとも別の方法がありますか?

そして、ところで、attr の代わりに prop を使用する方が良いですか? よろしくお願いします。

4

4 に答える 4

4

関数に 2 番目のパラメーターを追加して、それを使用するだけです。

function toggleChecked(status,selector) {
    $(selector).each(......);
}

正直なところ、このような単純なことに苦労しているのであれば、まだ jQuery を使用するべきではありません。最初にプレーンな JavaScript について学ぶ必要があります。そうでなければ、世界最高のツールを持って建設現場に行くようなもので、おそらくそれらのツールを完璧に使用する方法の知識さえあります...しかし、基本的な建設がどのように機能するかを知らなければ、おそらく土台のない美しい建物を作るでしょう.それは一日で崩壊するでしょう。

于 2012-12-03T16:43:20.790 に答える
3

jQuery.isが実際に役立つ場合、または prop("checked") はブール値を返します (どちらの方法でも):

var boxes = $(".checkbox");
boxes.prop("checked", !boxes.prop("checked"));

はい、jQuery.propの方が優れています。

于 2012-12-03T16:44:36.767 に答える
0

さて、私はあなたがすでに答えを得ていることを知っていますが... これが私のバージョンです:

$.fn.changeCheckboxesState = function(state){
        if (state === undefined)
            state = true;

        $(this).filter(':checkbox').each(function() {
            $(this).prop('checked', state);
        });

        return this;
    };
$.fn.toggleCheckboxes = function() {

        $(this).filter(':checkbox').each(function() {
            var $this = $(this);

            $this.prop('checked', !$this.prop('checked'))
        });

        return this;
    };
于 2012-12-03T17:03:18.677 に答える