2011-10-25 15 views
0

Check-a、Check-b、Check-c、Check-dの4つのチェックボックスがあるとします。Jquery Trackingチェックボックスがチェックされていないか、チェックされていないかチェックされていない

Check-aとCheck-bが既に選択されています.Jqueryを使用してチェックボックスをオンにするかどうかをチェックすることができます。

今、私はCheck-aのチェックを外しました。だからCheck-aがチェックされ、私はこれをチェックしないようにしました。だから今Check-cとCheck-dはチェックされておらず、Check-aは私のチェックが外されています。チェックされていないものと以前はチェックされていないものを追跡する方法を探しています。

誰でも私に方法を教えていただけますか?

+0

チェックボックスが '.change()'の場合にブール変数を設定するだけです。 – Blazemonger

+0

サンプルコードで私を助けてください。私はこれに対してブール値の配列を維持する必要がありますか? –

+0

あなたのサンプルコードが表示されるまで、サンプルコードを手助けすることはできません。ブール変数をどのように格納するかは、それらで何をしたいかによって異なります。 – Blazemonger

答えて

1

、これは同じもののようなものを行いますが、それは

(隠しフィールド内の文字列のように)隠しフィールド、および偽の配列を使用しないので、それは少しクリーナーです
$(function() { 
    var history = []; 
    $("input").click(function() { 
    history.push({ 
     id: this.id, 
     checked: this.checked 
    }); 
    }); 
    // If you'd like, you can initialize the array 
    // with the initial values with the following line 
    $("input").click(); 

}); 
1

クリック履歴の種類が必要な場合は、余分なフィールドを使用するだけではどうですか?

HTML:

<form> 
    <div> 
     <input type="checkbox" name="fruit" value="o" id="orange" /> 
     <label for="orange">orange</label> 
    </div> 
    <div> 
     <input type="checkbox" name="fruit" value="a" id="apple" /> 
     <label for="apple">apple</label> 
    </div> 
    <div> 
     <input type="text" name="history" id="history" /> 
    </div> 
</form> 

jqueryのスクリプト:

$("input").click(function() { 
    $("#history").val($("#history").val() + $(this).val() + ";"); 
}); 

あなたはそれを隠しにし、評価することができます。 @definitelyundefinableと同じHTMLを想定すると、後で区切られたリスト。..

+0

テキストフィールドにする必要はありません。実配列 –

+0

を使用してください。ただし、サーバーに送信する必要がある場合は、文字列が単純な解決策であると推測しました –

関連する問題