我有一個TaffyDB包含來自RPG的項目的食譜。每個項目都有一個布爾值來聲明它是否在遊戲中「混合」。在TaffyDB查詢中使用JS變量返回undefined
var recipes = TAFFY([
{id:0, name:'Potion', mixed:false},
{id:1, name:'Hi-Potion', mixed:false},
{id:2, name:'Mega-Potion', mixed:false}
]);
生成一個HTML表格,每個配方都有一個表示「混合」變量的複選框。每個複選框有value=X
,其中X
對應於數據庫中項目的ID。我發現複選框的變化和嘗試使用更新數據如下:
$('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
。更新調用也不會更改這些值。但是,如果我將所有查詢更改爲recipes({id:0})
,它都可以正常工作,但只會報告並更新第一個複選框。
據我所知,它不喜歡javascript變量val
和checked
進行查詢時,如recipes({id:val})
,但在字面值0
下正常。
的jsfiddle:http://jsfiddle.net/w6g6W/12/