Jquery Emberjs-1.0.0-rc.6单击可动态添加更多或多个输入字段

Jquery Emberjs-1.0.0-rc.6单击可动态添加更多或多个输入字段,jquery,forms,ember.js,handlebars.js,Jquery,Forms,Ember.js,Handlebars.js,我想创建一个表单,用户可以单击按钮添加其他输入字段。我在这里创建了一个部分工作,而jsfiddle中的整个代码如下所示: 我有三个问题: 这将添加一个文本字段,但不使用余烬绑定$(“#addField”).append(“”)。当我尝试使用依赖把手的版本时,我的意思是:*$(“#addField”).append({{textArea value=name}}'),而不是输出**textArea,我得到的只是{textArea value=name} 由于添加的字段本质上与表单中的字段相同,因此

我想创建一个表单,用户可以单击按钮添加其他输入字段。我在这里创建了一个部分工作,而jsfiddle中的整个代码如下所示:

我有三个问题:

  • 这将添加一个文本字段,但不使用余烬绑定$(“#addField”).append(“
    ”)
    。当我尝试使用依赖把手的版本时,我的意思是:*$(“#addField”).append({{textArea value=name}}
    '),而不是输出**textArea,我得到的只是{textArea value=name}

  • 由于添加的字段本质上与表单中的字段相同,因此我如何确保键入的内容与该字段不同。在附件中,因为textfield输入和textArea标记具有value=name,所以我在textfield中键入的任何内容都将显示在textArea中。我知道即使我使用了valueBinding=controller.name或者如果是带有valueBinding=view.name的views属性,这个问题也会适用。如何保持通过单击添加的每个附加输入字段的值唯一

  • JSFIDLE中的整个代码

     App = Ember.Application.create();
    
     App.ApplicationView = Ember.View.extend({
      templateName: 'application',
      attributeBindings: ['id'],
      id: "addField",
    
      moreFields: function(){
        $("#addField").append('<input type="text"  value=name /><br/>');
    
        $("#addField").append('{{textArea value=name}}<br/>');  
      }
    
    });
    
    App=Ember.Application.create();
    App.ApplicationView=Ember.View.extend({
    templateName:'应用程序',
    属性索引:['id'],
    id:“addField”,
    moreFields:function(){
    $(“#addField”).append(“
    ”); $(“#addField”).append({{textArea value=name}}
    ); } });
    模板:

     <script type="text/x-handlebars" data-template-name='application'>
        <h1> Hello</h1>
        {{input value=name}}
        <br/>
        {{textarea value=name}}
        <br/>
       {{input type=checkbox checked=isActive}}
       <br/>
    
      <button {{action 'moreFields' target='view'}}> click for more field </button>
       <br/>
      {{outlet}}
    </script>
    
    
    你好
    {{input value=name}
    
    {{textarea value=name}
    {{input type=checkbox checkbox=isActive}}
    单击查看更多字段
    {{outlet}}
    这里有一个其他人制作的基于jquery的演示,演示了我希望实现的目标,即您在添加的每个新字段中键入的内容保持不同:

    工作解决方案


    增强了由Selva-G'提供的。添加了删除所有添加字段的removeFields()方法,以及只记录我们打算通过提交表单传递的内容的save()方法

    不能像这样使用原始jQuery。只需在数组上循环即可绘制表单元素。如果要添加更多字段,只需将内容推送到数组中即可。Emberjs足够智能,可以检测到绘制新字段的更改。。在你们哈佛商学院

       {{#each view.content}}
        {{input value=name}}
        {{textarea value=name}}
       {{input type=checkbox checked=isActive}}
      {{/each}}
    
    单击更多字段时,只需更新内容数组,如

            this.get('content').pushObject({name: ''});
    


    希望这有帮助

    您不能像这样使用原始jQuery。只需在数组上循环即可绘制表单元素。如果要添加更多字段,只需将内容推送到数组中即可。Emberjs足够智能,可以检测到绘制新字段的更改。。在你们哈佛商学院

       {{#each view.content}}
        {{input value=name}}
        {{textarea value=name}}
       {{input type=checkbox checked=isActive}}
      {{/each}}
    
    单击更多字段时,只需更新内容数组,如

            this.get('content').pushObject({name: ''});
    


    希望这有助于

    如何通过单击表格栏使其可编辑?还要添加另一行以向表中添加内容?如何在单击表列时使其可编辑?是否还要添加另一行以向表中添加内容?