Javascript Meteor基于select radio自动形成隐藏输入
我试图链接隐藏的输入基于单选按钮选择和我将如何去做它卡住。“自动形成选择单选选项”帮助器创建的数组具有内部id,这使得附加其他帮助器变得困难,并且值和名称也不够唯一 我想通过一组值将对象添加到单选按钮值中,然后在before钩子中进行一些处理,但是我真的不知道怎么做。如果可能的话,我希望模板中不要有额外的输入字段 Template.example.htmlJavascript Meteor基于select radio自动形成隐藏输入,javascript,meteor,meteor-autoform,Javascript,Meteor,Meteor Autoform,我试图链接隐藏的输入基于单选按钮选择和我将如何去做它卡住。“自动形成选择单选选项”帮助器创建的数组具有内部id,这使得附加其他帮助器变得困难,并且值和名称也不够唯一 我想通过一组值将对象添加到单选按钮值中,然后在before钩子中进行一些处理,但是我真的不知道怎么做。如果可能的话,我希望模板中不要有额外的输入字段 Template.example.html {{#autoForm collection="arrayscollecti" id="insert-form" doc=currentDo
{{#autoForm collection="arrayscollecti" id="insert-form" doc=currentDoc type="insert"}}
{{> afFieldInput name="arrays" options=radioHelper type="select-radio"}}
{{/autoform}}
Template.example.helper
radioHelper: function() {
var array0 = this.object[0].objectA.objectA.value;
var array1 = this.object[1].objectA.objectA.value;
var hidden0 = this.object[0].objectA.objectB.differentvalue;
var hidden1 = this.object[1].objectA.objectB.differentvalue;
return [
{label: array0, value: array0},
{label: array1, value: array1}
];
},
好吧,我想起来了。这个问题在任何地方都没有答案,因为它确实特定于此场景,但我希望标题中的关键字能够帮助其他人了解如何将多个隐藏字段发布到autoform中并传递简单模式。如果其他人对此有解决方案,请发布答案 助手只接受字符串作为值,所以我将其字符串化
radioHelper: function() {
var array0 = this.object[0].objectA.objectA.value;
var array1 = this.object[1].objectA.objectA.value;
var hidden0 = this.object[0].objectA.objectB.differentvalue;
var hidden1 = this.object[1].objectA.objectB.differentvalue;
var objectArray0 = JSON.stringify({"simpleschema1": this.object[0].objectA.objectA.value, "simpleschema2": "VARorNUMorSTRINGorOBJECT"}
var objectArray1 = JSON.stringify({"simpleschema1": this.object[1].objectA.objectA.value, "simpleschema2": VARorNUMor"STRING"orOBJECT}
return [
{label: array0, value: objectArray0},
{label: array1, value: objeactArray1}
];
},
一旦您完成了,那么您需要创建一个before钩子,它将在模式中运行,并有望通过。如果没有,那么您需要查看您的助手或console.log以查看信息是否正确。我在createdat和createdby字段中留下了一些内容,以防有人想在不在HTML中公开的情况下将它们添加到数据库中
AutoForm.hooks({
'insert-form': {
before: {
insert: function(doc, template) {
var result = JSON.parse(doc.arrays);
doc = result;
doc.createdat = JSON.stringify(moment()._d);
doc.ownerid = Meteor.userId();
return doc;
}
}
});