Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用包含迭代的模板助手更新meteor中meteor的数据_Javascript_Jquery_Meteor_Textbox_Updates - Fatal编程技术网

Javascript 如何使用包含迭代的模板助手更新meteor中meteor的数据

Javascript 如何使用包含迭代的模板助手更新meteor中meteor的数据,javascript,jquery,meteor,textbox,updates,Javascript,Jquery,Meteor,Textbox,Updates,我刚刚探索了meteor.js并做了一些实验。。我想使用文本框更新数据。。但是文本框是从模板助手迭代生成的 所以,这个场景就像我们先输入数据,然后再检索数据,我们可以编辑数据。。所以当我们编辑 问题是我无法从文本框中获取值。。它总是“未定义的”。。以下是我的html代码: <body> <form class="InsertTEST"> <input type="text" name="att1" placeholder="fill the

我刚刚探索了meteor.js并做了一些实验。。我想使用文本框更新数据。。但是文本框是从模板助手迭代生成的

所以,这个场景就像我们先输入数据,然后再检索数据,我们可以编辑数据。。所以当我们编辑

问题是我无法从文本框中获取值。。它总是“未定义的”。。以下是我的html代码:

<body>
    <form class="InsertTEST">
        <input type="text" name="att1" placeholder="fill the att1"/>
        <input type="text" name="att2" placeholder="fill the att3"/>
        <input type="submit" value="submit"/>
    </form>
    <table>
        {{#each a}}
            {{> test}}
        {{/each}}
    </table>
</body>

<template name="test">
    <tr class="testRow">
        <td><input type="checkbox" class="toogle-check"></td>
        <td><input type="text" id="att4" value="{{att1}}"/></td>
        <td><input type="text" id="att5" value="{{att2}}"/></td>
        <td><a href="#">{{att3}}</a></td>
        <td><button class="UpdateTEST">Update</button></td>
        <td><button class="DeleteTEST">Remove</button></td>
    </tr>
</template>

首先,不要给你的助手起名为“a”,你需要一个合适的名字。其次,你不应该在流星中使用
body
标签。它由服务器生成,您的模板将加载到其中

假设您的父模板名为
MainTemplate

您的助手可能是这样的:

Template.MainTemplate.helpers({
    "item":function(){
       return TEST.find();
     }
});
您只需将spacebars迭代替换为以下内容:

    {{#each item}}
        {{> test}}
    {{/each}}

当您得到未定义的内容时,一个好的做法是尝试将其父项(
console.log(this);
记录在
Template.test.rendered
函数中)。它允许您找到调用对象的正确方法(即对象在模板中的位置)。

首先,不要将助手命名为“a”,您需要获得正确的名称。其次,你不应该在流星中使用
body
标签。它由服务器生成,您的模板将加载到其中

假设您的父模板名为
MainTemplate

您的助手可能是这样的:

Template.MainTemplate.helpers({
    "item":function(){
       return TEST.find();
     }
});
您只需将spacebars迭代替换为以下内容:

    {{#each item}}
        {{> test}}
    {{/each}}

当您得到未定义的内容时,一个好的做法是尝试将其父项(
console.log(this);
记录在
Template.test.rendered
函数中)。它允许您找到调用对象的正确方法(即它在模板中的位置)。

您知道为什么吗?您的HTML中有重复的ID。可以多次渲染id为att4和att5的输入。ID在HTML文档中应该是唯一的。您应该将静态ID替换为测试模板中forEach循环内部使用的动态ID:

<td><input type="text" id="{{_id}}4" value="{{att1}}"/></td>
<td><input type="text" id="{{_id}}5" value="{{att2}}"/></td>

你知道为什么吗?您的HTML中有重复的ID。可以多次渲染id为att4和att5的输入。ID在HTML文档中应该是唯一的。您应该将静态ID替换为测试模板中forEach循环内部使用的动态ID:

<td><input type="text" id="{{_id}}4" value="{{att1}}"/></td>
<td><input type="text" id="{{_id}}5" value="{{att2}}"/></td>

嗨,Billybbonne,谢谢你的回答。。我会接受你关于正确名称和标签正文的建议:D。。关于渲染的东西,我会先试试。。谢谢你的回答。。我会接受你关于正确名称和标签正文的建议:D。。关于渲染的东西,我会先试试。。谢谢你的回答。。我会接受你关于正确名称和标签正文的建议:D。。关于渲染的东西,我会先试试。。谢谢Tomas Hromonik谢谢你的帮助。。我已经试过了,但它仍然返回未定义的值。哦,对不起,我的代码中有一个小错误,现在就试试。它应该有效;-)嗨,托马斯,谢谢你的帮助,它现在可以工作了。。顺便问一下,关于语法,它叫jquery还是javascript?对不起,我问了个愚蠢的问题。。我还是worldHi Tomas Hromonik编程新手,谢谢你的帮助。。我已经试过了,但它仍然返回未定义的值。哦,对不起,我的代码中有一个小错误,现在就试试。它应该有效;-)嗨,托马斯,谢谢你的帮助,它现在可以工作了。。顺便问一下,关于语法,它叫jquery还是javascript?对不起,我问了个愚蠢的问题。。我还是worldHi Tomas Hromonik编程新手,谢谢你的帮助。。我已经试过了,但它仍然返回未定义的值。哦,对不起,我的代码中有一个小错误,现在就试试。它应该有效;-)嗨,托马斯,谢谢你的帮助,它现在可以工作了。。顺便问一下,关于语法,它叫jquery还是javascript?对不起,我问了个愚蠢的问题。。我还是编程界的新手