我剛剛探索了meteor.js並進行了一些實驗..我想使用文本框更新數據..但是文本框是從模板幫助程序迭代生成的。如何使用包含迭代的模板幫助來更新流星中的流星數據
所以,場景就像我們輸入數據,然後再retrive它,我們可以修改我們的數據。所以,當我們編輯
問題是我無法從文本框中獲取值..其始終「undefined」..這裏是我的html代碼:
<body>
<form class="InsertTEST">
<input type="text" name="att1" placeholder="fill the att1"/>
<input type="text" name="att2" placeholder="fill the att3"/>
<input type="submit" value="submit"/>
</form>
<table>
{{#each a}}
{{> test}}
{{/each}}
</table>
</body>
<template name="test">
<tr class="testRow">
<td><input type="checkbox" class="toogle-check"></td>
<td><input type="text" id="att4" value="{{att1}}"/></td>
<td><input type="text" id="att5" value="{{att2}}"/></td>
<td><a href="#">{{att3}}</a></td>
<td><button class="UpdateTEST">Update</button></td>
<td><button class="DeleteTEST">Remove</button></td>
</tr>
</template>
這裏我的js代碼:
TEST = new Mongo.Collection('TEST');
if (Meteor.isClient) {
Template.body.helpers({
a: function() {
return TEST.find();
}
});
Template.body.events({
'submit .InsertTEST' : function(event){
var _att1 = event.target.att1.value;
var _att3 = new Date();
var _att2 = Number(event.target.att2.value) + 10;
Meteor.call('InsertTEST', _att1, _att2, _att3);
event.target.att1.value = "";
event.target.att2.value = "";
return false;
}
});
Template.test.events({
'click .UpdateTEST' : function(e,t) {
var _att4 = $('#att4').val();
alert(_att4);
/*
var query = {
att1 : _att4,
att2 : _att5
};
*/
TEST.update(this._id, {$set:query});
return false;
}
});
}
if (Meteor.isServer) {
Meteor.methods({
'InsertTEST' : function(_att1, _att2, _att3) {
TEST.insert({
att1:_att1, att2:_att2
});
}
});
}
嗨Billybobbonnet,感謝你的答案..我會接受你的建議對適當的名稱和標籤體:d ..關於渲染的東西,我會先嚐試它..謝謝 –