首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取由lodash _.template转储的html-table tbody输入值?

如何获取由lodash _.template转储的html-table tbody输入值?
EN

Stack Overflow用户
提问于 2020-12-01 02:36:06
回答 1查看 33关注 0票数 0

这是一个基本的超文本标记语言表格,通过使用lodash _.template来转储正文。Html表是:

代码语言:javascript
复制
    <div id="attribute-values-wrapper">
        <div class="table-responsive">
                 <table class="options table table-bordered">
                       <thead>
                          <tr>
                            <th></th>
                            <th>Value</th>
                            <th></th>
                          </tr>
                       </thead>
                       <tbody id="attribute-values">
                       </tbody>
                 </table>
       </div>
   </div>

Lodash _.template为:

代码语言:javascript
复制
    <script type="text/html" id="attribute-value-template">
      <tr>
          <td class="text-center">
            <span class="drag-icon">
            <i class="fa">&#xf142;</i>
            <i class="fa">&#xf142;</i>
            </span>
          </td>
          <td>
     <input type="hidden" name="values[<%- valueId %>][id]"
         value="<%- value.id %>">
    
 <div class="form-group">
    <input type="text" name="values[<%- valueId %>][value]"
    value="<%- value.value %>" class="form-control">
 </div>
          </td>
       <td class="text-center">
     <button type="button" class="btn btn-default delete-row"
      data-toggle="tooltip" data-title="Delete Value">
              <i class="fa fa-trash"></i>
     </button>
         </td>
      </tr>
    </script>

简单的javascript函数来转储tbody。

代码语言:javascript
复制
let valuesCount = 0;
function addAttributeValue(value = {id: '', value: ''}) {
    let template = _.template($('#attribute-value-template').html());
    let html = template({valueId: valuesCount++, value});
    $('#attribute-values').append(html);
}
EN

回答 1

Stack Overflow用户

发布于 2020-12-01 14:15:56

我的问题的答案。

代码语言:javascript
复制
let attribute_values = [];
    $('#attribute-values tr').each(function (index, element) {
        let inputs = $(this).find('input'), o = {};
        inputs.each(function () {
            let name = $(this).attr('name');
            if (name === "values[" + index + "][id]") {
                o["id"] = this.value;
            } else if (name === "values[" + index + "][value]") {
                o["value"] = this.value;
            }
        });
        attribute_values.push(o);
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65079248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档