Also hier ist meine Schienen Ansicht, die eine Form hat, die die product_items zieht und lässt den Benutzer überprüfen alle Artikel, die sie kaufen möchten und die gesamte Bestellmenge unter der Tabelle anzeigen. (beigefügtes Bild) Rails Jquery Berechnung Summe aus ausgewählten Kontrollkästchen in einer Tabelle
Mein Code sieht wie folgt aus. Die Serverseite ist gut (wo ich die Bestellung speichern kann), aber ich brauche etwas Hilfe auf der Client-Seite js, um die Bestellsumme zu berechnen und die Bestellsumme unter der Tabelle anzuzeigen. Hier
<tbody>
<% @cause.product.product_items.each do |item| %>
<tr>
<td width="60%"><label class="checkbox"><%= f.check_box(:items, { multiple:true, class: 'item_checkbox' }, item.id, nil) %><i></i><%= item.title %></label></td>
<td>
<label class="select">
<select name="items[<%= item.id %>][qty]">
<option value="0" selected disabled>Qty</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
<i></i>
</label>
</td>
<td><b><big><%= number_to_currency(item.price, precision: 0) %></big></b></td>
</tr>
<% end %>
</tbody>
</table>
</div>
<label><strong>Total order amount: </strong><span class="lead" id="order_amount"></span></label>
sind einige js, ich wollte das Kontrollkästchen identifizieren, die geprüft wird, und ergreifen Sie die Menge in dieser Tabellenzeile (wieder nicht sicher, wie dies zu tun)
$(".item_checkbox").change(function() {
if ($(this).is(":checked")) {
alert($(this).siblings($('#select option:selected').text()));
}
});
Haben Sie schon einmal JS ausprobiert? Vielleicht könnten Sie eine JSFiddle mit etwas HTML von yout Ansicht erstellt – Bustikiller
Ich habe versucht, die unten, um zu sehen, ob ich die Checkbox identifizieren kann, aber nicht sicher, es ist das sofort. ' $ (" item_checkbox ") ändern (function() { if ($ (this) .ist (.": Checked")) { alert ($ (this) .siblings ($ ('# wählen Option: ausgewählt '). text())); } }); ' – sidj
Bitte bearbeiten Sie Ihre Frage und fügen Sie diesen JS-Code als Teil davon – Bustikiller