我正在尝试按照 tutorial来实现一个,在我的情况下,单选按钮。我正在迭代类别,但就我而言,工作类型:
查看:
<label>Category</label>
{{#each jobTypes}}
<label class="checkbox inline">
<input id="jobType_{{_id}}" type="radio" value="{{_id}}" name="jobType" {{hasJobType}} /> {{name}}
</label>
{{/each}}
我的提交js:
Template.jobCreate.events({
'submit form': function(e) {
e.preventDefault();
var job = {
jobTitle: $(e.target).find('[name=jobTitle]').val(),
aboutRole: $(e.target).find('[name=aboutRole]').val(),
howToApply: $(e.target).find('[name=howToApply]').val(),
aboutCandidate: $(e.target).find('[name=aboutCandidate]').val(),
benefits: $(e.target).find('[name=benefits]').val(),
// for the radio button. This feels wrong:
jobTypes: $(e.target).find('input[name=jobType]:checked').val(),
};
Meteor.call('jobInsert', job, function(error, result) {
// display the error to the user and abort
if (error)
return alert(error.reason);
Router.go('jobPage', {_id: result._id});
});
}
});
我的助手js:
Template.jobCreate.helpers({
hasJobType: function() {
return _.contains(job.jobTypes, this.name) ? 'checked' : '';
}
});
如果我回复{{jobTypes}}
,我会收到单选按钮_id
,但如果我将{{_id}}
替换为{{name}}
,则在视图中,我会得到名称,但是教程使用id
代替。我错过了什么是我的js?
我还没有实现编辑/删除js。