我正在编写一个函数来更新订单收据,每次用户更新然后关闭产品弹出覆盖。该函数搜索表单的每个输入,然后将信息添加到收据 div,如果其值大于0
。我正在尝试获取.html()
位于输入字段上方并描述当前项目的标签元素,并将其用作收据中项目的描述。
我试过使用但没有成功:
- $this.closest('label').html()
- $this.prev('label').html()
- $this.find('label').html()
- this.element.find('label').html()
这是我的代码。我正在谈论的部分是“标签是”部分......
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);
}
和一个示例表单项
<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>