ユーザーが一連のチェック ボックスを選択してフィルター処理できるイベントのリストがあります。以下を使用して各イベントにデータを添付しました (単純化するために真/偽の値をハードコーディングしました):
$(thisDiv).data({
"Category": {
"Category1": true,
"Category2": false,
"Category3": true,
"Category4": true,
"Category5": false
},
"Topic": {
"Topic1" : true,
"Topic2" : false,
"Topic3" : false,
"Topic4" : true,
"Topic5" : true
}
});
ユーザーが対応するチェックボックスを選択/選択解除すると、対応する値に基づいてイベントを非表示/表示したい。たとえば、Category1 チェックボックスが選択されている場合、Category1 == true のすべてのイベントを選択したい。(著者やジャンルで本をフィルタリングする Amazon ブック検索のように考えてください。)
私の問題は、一致を選択するために使用している構文です。
$(checkboxes).change(function() {
if ($(this).is(':checked')) {
var group = this.groupName; //an attribute I added to the checkbox that contains the key (e.g. "Category" or "Topic")
var identifier = this.id; //e.g. "Category1"
$(eventContainer).each(function() {
//alert($(this).data(group).identifier); //.data(group) alone returns object, but once I add .identifier it fails
if ($(this).data("Category").Category1 == true) { //works
//show/hide events based on other conditions
};
}); //end function
}
}); //end function
条件に一致するアイテムを選択するための正しい構文は何ですか?