代码之家  ›  专栏  ›  技术社区  ›  CHiEZ

如何使用jQuery获取动态表的输入字段值

  •  0
  • CHiEZ  · 技术社区  · 7 年前

    我目前正在使用 建立一个表。表中的行将根据所选供应商而更改。我已添加 class={{_id}} q.{{_id}} , lot.{{_id}} exp.{{_id}} 数量、批次和到期日期 输入

    我试图编写一个提交事件来获取这些值并将其传递给 数据库请建议一种通过这些行循环获取值的好方法。

    网站图片

    enter image description here

    接收表单模板

    <template name="receiveForm">
    ...
    <select data-placeholder="Select an option" class="sel2js form-control select select-primary" id="supplier_sel" name="supplier">
          {{#each suppliers}}
            {{> sel_supplier}}
          {{/each}}
        </select>
      </div>
      <!-- Receive Lot Table -->
      <table class="table table-bordered table-hover">
        <thead>
          <tr>
            <th>Product Name</th>
            <th>Current Quantity</th>
            <th>Unit of Measurement</th>
            <th>Receive Quantity</th>
            <th>Lot No</th>
            <th>Exp Date (DD/MM/YYYY)</th>
          </tr>
        </thead>
        <tbody>
          {{#each items}}
            {{> receiveRow2}}
          {{/each}}
        </tbody>
    </table>
    <div class="text-center">
      <button type="submit" class="btn btn-embossed btn-primary btn-wide" id="submitNewReceive" value="Submit">Submit</button>
      <button type="reset" class="btn btn-embossed btn-warning btn-wide" value="Reset">Reset</button>
    </div>
    </form>
    

    <template name="receiveRow2">
      <tr id="{{_id}}">
        <td class="pn">{{name}}</td>
        <td class="pq">{{totalQuantity}}</td>
        <td>{{uomid.name}} ({{uomid.unit}} {{uomid.unitname}}/{{uomid.name}})</td>
        <td><input type="text" class="form-control" name="q.{{_id}}" placeholder="Quantity" /></td>
        <td><input type="text" class="form-control" name="lot.{{_id}}" placeholder="Lot No XX/YYYY" /></td>
        <td>
          <div class="input-group datetimepicker text-primary">
            <span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span>
            <input class="set-due-date form-control" name="exp.{{_id}}" type="text" placeholder="วัน/เดือน/ปี"/>
            <hr />
          </div>
        </td>
      </tr>
    </template>
    

    JS公司

    Template.receiveForm.events({
      'submit form': function(event, template){
        var supplierSelected = Template.instance().supplierSelected;
        items = Products.find({suppliers: supplierSelected.get()});
        event.preventDefault();
        docdate = event.target.docdate.value;
        supplier = event.target.supplier_sel.value;
        console.log("---event---");
        console.log(docdate)
        console.log(supplier)
        items.forEach(function(item){
          ????
        })
      }
    })
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   marc_s HarisH Sharma    5 年前

    在第4行中,项目前缺少一个var,在第6、7行中也是如此。

    在那之后,我认为你可以循环使用它们。(但他们将来自DB)。

    此外,我更愿意获得DB值作为承诺。

    var items = Promise.resolve(Products.find({suppliers: supplierSelected.get()});
    

    items.then(function(item){console.log(item)})