我有一个弹出的模态,让用户更新集合中的某些字段。例如,它将为客户端的地址提供多个输入字段(模式只有一个按钮来执行更新):
...
<input type="text" id="full-name-change-modal">
<input type="text" id="address-change-modal">
<input type="text" id="city-change-modal">
<input type="text" id="state-change-modal">
...
因此,如果用户想要更改客户端的全名,则更新将仅包括那些适当输入不为空的字段。在这种情况下,更新将读取如下内容:
Collection.update({ _id: documentNameAddress._id}, {$set: {FullName: <name from input> }});
如果用户想要更改地址,城市,州和邮政编码,则需要阅读:
Demographic.update({ _id: documentNameAddress._id}, {$set: {Address: <address from input>, City: <city from input>, State: <state from input>, Zip: <zip from input> });
如果可能,我不希望每个字段都有单独的按钮。我怎么能这样做?
答案 0 :(得分:1)
您最终会获得Collection
的一个可选更新,然后您可以根据表单中的非空字段为Demographic
建立更新:
Template.myTemplate.events({
'click button':function(ev){
var FullName = $("#full-name-change-modal").val();
if ( FullName ) Collection.update({ _id: documentNameAddress._id}, {$set: {FullName: FullName }});
var query = {};
var Address = $('#address-change-modal').val();
if ( Address ) query.Address = Address;
var City = $('#city-change-modal').val();
if ( City) query.City = City;
var State = $('#state-change-modal').val();
if ( State ) query.State = State;
if ( Object.keys(query).length ) Demographic.update(query);
}
});