Piszę funkcję aktualizowania potwierdzenia zamówienia za każdym razem, gdy użytkownik aktualizuje, a następnie zamyka wyskakującą okienek produktu. Funkcja przeszukuje każde wejście formularza, a następnie dodaje informacje do div odbioru, jeśli jego wartość jest większa niż 0
. Próbuję pobrać .html()
elementu etykiety znajdującego się powyżej pola wejściowego i opisującego bieżący element oraz użyć go jako opisu pozycji w paragonie.jQuery pobiera etykietę z powyższego
Próbowałem, używając bez powodzenia:
- $this.closest('label').html()
- $this.prev('label').html()
- $this.find('label').html()
- this.element.find('label').html()
Oto mój kod. Sekcja mówię jest „etykieta jest” częścią ...
function updateOrder(){
var items = '';
$('input').each(function(){
var $this = $(this),
i_value = $this.attr('value');
if(i_value > 0){
items += $this.attr('id') + ' Quantity: ' + i_value + '<br/>'
+ 'label is: ' + $this.closest('label').html() + '<br/>';
}
});
$('#d_reciept').html(items);
}
i element forma próbka
<tr>
<td class="td_thumbs">
<div>
<a class="fancybox" data-fancybox-group="vinyl-banners" href="img/products/vinyl-corporateblue.jpg"> <img src="img/products/thumbs/vinyl-corporateblue-thumb.png" alt="vinyl c-blue"/></a>
<label>Corporate Blue</label>
</div>
</td>
<td>6</td>
<td>
<input id="vinyl-blue" type="number" max="6" min="0" value="0"/>
</td>
</tr>
genialny! $ (this) .closest ('tr'). find ('label'). Działa html() :) – lukeocom