RPG のアイテムのレシピを含む TaffyDB があります。各アイテムには、ゲーム内で「混合」されているかどうかを宣言するブール値があります。
var recipes = TAFFY([
{id:0, name:'Potion', mixed:false},
{id:1, name:'Hi-Potion', mixed:false},
{id:2, name:'Mega-Potion', mixed:false}
]);
HTML テーブルが生成され、各レシピには「混合」変数を表すチェックボックスがあります。各チェックボックスには、データベース内のアイテムの ID に対応するvalue=X
場所があります。X
チェックボックスの変更を検出し、次を使用してデータを更新しようとしました:
$('input:checkbox').on('change', function() {
var val = $(this).val();
var checked = $(this).is(':checked');
recipes({id:val}).update({mixed:checked});
alert('Updated recipe id: ' + val +
'\nRecipe: ' + recipes({id:val}).first().name +
'\nValue should be ' + checked +
'\nValue is ' + recipes({id:val}).first().mixed);
}
と を使用して変数を取得しようとするrecipes({id:val}).first().name
と.mixed
、undefined
常に が返されます。update 呼び出しでも値は変更されません。ただし、すべてのクエリを に変更すると、recipes({id:0})
正常に動作しますが、最初のチェックボックスのみが報告および更新されます。
私が知る限り、それは javascript 変数が好きではなく、などのクエリval
をchecked
実行するときは好きではありませんrecipes({id:val})
が、リテラル では問題ありません0
。
JSFiddle: http://jsfiddle.net/w6g6W/12/