select的默认选中项总是不对,还以为是meteor的关系,用时差不多一天终于找到问题所在:
<label for="app-type" class="col-sm-2 control-label">应用分类*:</label> <div class="col-sm-3"> <select class="form-control" id="app-type"> <option value="">请选择应用分类</option> {{#each appcategorys}} <option value="{{_id}}" selected="{{apptypeSelected _id}}">{{name}}</option> {{/each}} </select> </div>Template.editapp.helpers({ appcategorys:function(){ console.log("appcategorys this.categoryid:"+this.categoryid+ " this.subcategoryid:"+this.subcategoryid); oldcategoryid=this.categoryid; oldsubcategoryid=this.subcategoryid; oldprocesstype=this.processtype; return categoryRecords.find({state:1}); }, apptypeSelected:function(categoryid){ console.log('apptypeSelected categoryid:'+categoryid+ " oldcategoryid:"+oldcategoryid); if(categoryid===oldcategoryid){ console.log('apptypeSelected categoryid===oldcategoryid'); return 'selected'; } return '';//正确是应该返回undefined; } }); 原来问题就出在这里,apptypeSelected中return 时不能返回 ‘’,应该返回undefined;