我有一个名为Ingredients的集合,我在可编辑的表格中向用户显示:
<div class="container col-sm-12">
<table id="ingredients_table" class="table table-hover table-bordered">
<thead>
<tr>
<th>Name</th>
<th>Cost</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{{#each ingredients}}
<tr class='ingredient_row' value={{this._id}}>
<th>
<div class="col-xs-11">
<input type="text" placeholder="ingredient name" class="ingredient_name_name form-control input-sm" value="{{name}}">
</div>
</th>
<th>{{> template_ingredient_cost_field ingredient=this}}</th>
<th>
<button name="delete" class="remove_ingredient btn btn-xs btn-danger">Delete</button>
</th>
</tr>
{{/each}}
</tbody>
</table>
</div>
我已经设法通过对每行中的每个项目执行类似的操作来保存所有编辑内容:
"input .ingredient_cost_field_value": (e) ->
new_value = $(e.target).val()
ingredient_id = @ingredient._id
Meteor.call('updateIngredientValue', ingredient_id, new_value)
这在本地工作时运行良好,但在部署时,它是缓慢的方式。因此,我想将其更改为使用整个表的一个保存按钮。
我必须遍历表格,但我不知道如何获得该行的成分ID。
"click #ingredient_savebutton": (e) ->
$('#ingredients_table tr').each((i, row) ->
console.log row
)
主要问题是获取每一行的成分id,以及我可以得到的其他值。