2017-09-13 1 views
0

zu bekommen Ich verwende Meteor/Blaze Framework, um eine Tabelle zu erstellen. Die Zeile in der Tabelle ändert sich entsprechend dem ausgewählten Lieferanten. Ich habe class={{_id}} zum Feld und q.{{_id}}, lot.{{_id}} und exp.{{_id}} zu der Menge, dem Los und dem Ablaufdatum INPUT hinzugefügt.Wie man jQuery verwendet, um Input Field Value der dynamischen Tabelle

Ich versuche, eine Submit-Ereignisse zu schreiben, um diesen Wert zu erhalten und es an die Mongo Datenbank zu übergeben. Bitte schlagen Sie eine gute Möglichkeit vor, diese Zeilen zu durchlaufen, um den Wert zu erhalten.

Website Bild

enter image description here

Teil des Codes

receiveForm Vorlage

<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> 

receiveRow2 Vorlage

<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){ 
     ???? 
    }) 
    } 
}) 

Antwort

3

In Zeile 4 seine eine var fehlt vor Artikel, und auch in Zeile 6, 7 Danach denke ich kann man auf ihnen Schleife. (Aber sie werden von der DB kommen) ABER wenn Sie die Eingabewerte erhalten möchten, warum würden Sie nach Daten in MongoDB fragen? Auch ich würde bevorzugen, DB-Werte als ein Versprechen zu erhalten.

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

und die Elemente auf diese Weise zurück:

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

Ich habe versucht, die ID aus der DB zu bekommen, so kann ich versuchen, einen Weg zu finden, den Eingang namen = q.ID zu bekommen, lot.ID-Wert. – CHiEZ

+0

Und Sie möchten die Werte mit den gespeicherten DB-Werten füllen? –

+0

Jetzt versuche ich einen Weg zu finden, die Eingabefeldwerte zu bekommen, damit ich sie in DB füllen kann. – CHiEZ

Verwandte Themen