html - 使用 Angularjs 每表行重复表单

标签 html angularjs forms html-table angularjs-ng-repeat

所以...我确实在互联网上搜索过这个问题的解决方案,但没有找到任何直接(或间接)提出答案的答案。

我试图在一个表中创建多个表单,每行都包含在 <form> 中像这样的标签

<tr ng-repeat="item in items">
     <form ng-submit="updateItem(item)">
           <td ng-bind="$index + 1"></td>
           <td ng-bind="item.title"></td>
           <td><button>Submit</button></td>
     </form>
</tr>

它似乎按预期工作,直到我意识到 ng-repeat 没有包装 <form><td> 周围标记标签,它最终看起来像这样

<tr ng-repeat="item in items">
     ***<form ng-submit="updateItem(item)"></form>*** //The form tags were unwrapped
           <td ng-bind="$index + 1"></td>
           <td ng-bind="item.title"></td>
           <td>
              ***<button>Submit</button>*** //Buttons don't submit cos no form
           </td>
</tr>

虽然我真正想要实现的是类似

<tr>
    <form>
    <td>
        <button>Hi</button>
    </td>
    </form>
</tr>
<tr>
    <form>
    <td>
        <button>Hello</button>
    </td>
    </form>
</tr>

我真的很想得到一些帮助来解决这个问题。

最佳答案

你可以联合细胞:

<tr ng-repeat="item in items">
   <td colspan="3">
       <form ng-submit="updateItem(item)">
           ...
       </form>
   </td>
</tr>

或者使用 ngForm 指令而不是 form(并手动添加 submit on enter):

<tr ng-repeat="item in items" ng-form="myForm">
     <td ng-bind="$index + 1"></td>
     <td ng-bind="item.title"></td>
     <td><button type="button" ng-click="updateItem(item)">Submit</button></td>
</tr>

关于html - 使用 Angularjs 每表行重复表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34020680/

相关文章:

javascript - 一系列切换 div(n 个像复选框一样切换的两个 div)-JS

javascript - 如何在 angularjs 中使用 HTML5 地理定位

php - 将输入数组形成到 MySQL DB

javascript - Django 中的动态表单有任何现有解决方案吗?

html - 在主页和子页面上有不同的页脚位置是不是一个糟糕的设计?

jquery - 单击图标时带有附加信息的按钮

javascript - 如何使用 John Papa 风格、Karma 和 Jasmine 数据服务测试 Angular 应用程序?

angularjs - 如何从 Controller 引用表单

python - 如何在 Python Flask 中创建带有可选参数的 SQL 查询?

php - 如何处理 Javascript 中的换行符? (来自 PHP)