jquery on() 函数并使用遍历得到 value/text
jquery on() function and get value/text using traversing
如何使用 on()
函数获得 value/text?
html w/php 来自 ajax 回复
echo "<div class='cartItem-buyingItem'>";
echo "<a href='#' class='buyingItem-closed styleCrl-gry1 stxt10'>X<span class='pid'>".$row["prdct_id"]."</span><br></a>";
echo "<div class='buyingItem-img'>";
echo "<img src='../".$row['prdct_picture']."'>";
echo "</div>";
echo "<div class='buyingItem-details styleCrl-gry'>";
echo "<div class='buyingItem-desc styleCrl-gry2 stxt12'>";
echo substr($row['prdct_description'],0,130)."...";
echo "</div>";
echo "</div>";
echo "<div class='buyingItem-origPrcng'>";
echo "<div class='buyingItem-unitPrice byngItm-untPrc stxt16 styleCrl-green'>". number_format($row['prdct_newPrice'] ,2) ."</div>";
echo "<div class='buyingItem-disPrice stxt12 styleCrl-gry2'>". number_format($row['prdct_price'] ,2) ."</div>";
echo "</div>";
echo "<div class='buyingItem-qty'>";
echo "<select class='buyingItem-qty-total'>";
echo "<option value='".array_count_values($allcart_num)[$row['prdct_id']]."'>".array_count_values($allcart_num)[$row['prdct_id']]."</option>";
echo "<option value='4'>4</option>";
echo "<option value='6'>6</option>";
echo "<option value='8'>8</option>";
echo "</select>";
echo "</div>";
echo "<div class='buyingItem-subPrcng'>";
echo "<div class='buyingItem-ttlPrice stxt16 styleCrl-green'>". number_format( bcmul(array_count_values($allcart_num)[$row['prdct_id']] , $row['prdct_newPrice'] ,2) ,2) ."</div>";
echo "<div class='buyingItem-ttlDisPrice stxt12 styleCrl-gry2'>". number_format( bcmul(array_count_values($allcart_num)[$row['prdct_id']] , $row['prdct_price'] ,2) ,2) ."</div>";
echo "</div>";
echo "</div>";
脚本
$(".cartItem-Load").on('change', '.buyingItem-qty select', function(){
alert($(this).val());
alert($(this).find('.buyingItem-unitPrice').text());//always null/undefined result
})
如何在 jquery 上使用右遍历获得其他 parents child 值?
我需要获取 select .buyingItem-unitPrice
的值并乘以 select 值 .buyingItem-qty select
您的代码的问题是 find()
用于查找子元素,而 .buyingItem-unitPrice
元素是 select
父元素的兄弟元素的子元素。要检索它,您可以使用 closest()
的组合来获取公共父级,然后使用 find()
。试试这个:
$(".cartItem-Load").on('change', '.buyingItem-qty select', function() {
var unitPrice = $(this).closest('.cartItem-buyingItem').find('.buyingItem-unitPrice').text();
var total = parseInt($(this).val(), 10) * parseFloat(unitPrice);
console.log(total);
})
如何使用 on()
函数获得 value/text?
html w/php 来自 ajax 回复
echo "<div class='cartItem-buyingItem'>";
echo "<a href='#' class='buyingItem-closed styleCrl-gry1 stxt10'>X<span class='pid'>".$row["prdct_id"]."</span><br></a>";
echo "<div class='buyingItem-img'>";
echo "<img src='../".$row['prdct_picture']."'>";
echo "</div>";
echo "<div class='buyingItem-details styleCrl-gry'>";
echo "<div class='buyingItem-desc styleCrl-gry2 stxt12'>";
echo substr($row['prdct_description'],0,130)."...";
echo "</div>";
echo "</div>";
echo "<div class='buyingItem-origPrcng'>";
echo "<div class='buyingItem-unitPrice byngItm-untPrc stxt16 styleCrl-green'>". number_format($row['prdct_newPrice'] ,2) ."</div>";
echo "<div class='buyingItem-disPrice stxt12 styleCrl-gry2'>". number_format($row['prdct_price'] ,2) ."</div>";
echo "</div>";
echo "<div class='buyingItem-qty'>";
echo "<select class='buyingItem-qty-total'>";
echo "<option value='".array_count_values($allcart_num)[$row['prdct_id']]."'>".array_count_values($allcart_num)[$row['prdct_id']]."</option>";
echo "<option value='4'>4</option>";
echo "<option value='6'>6</option>";
echo "<option value='8'>8</option>";
echo "</select>";
echo "</div>";
echo "<div class='buyingItem-subPrcng'>";
echo "<div class='buyingItem-ttlPrice stxt16 styleCrl-green'>". number_format( bcmul(array_count_values($allcart_num)[$row['prdct_id']] , $row['prdct_newPrice'] ,2) ,2) ."</div>";
echo "<div class='buyingItem-ttlDisPrice stxt12 styleCrl-gry2'>". number_format( bcmul(array_count_values($allcart_num)[$row['prdct_id']] , $row['prdct_price'] ,2) ,2) ."</div>";
echo "</div>";
echo "</div>";
脚本
$(".cartItem-Load").on('change', '.buyingItem-qty select', function(){
alert($(this).val());
alert($(this).find('.buyingItem-unitPrice').text());//always null/undefined result
})
如何在 jquery 上使用右遍历获得其他 parents child 值?
我需要获取 select .buyingItem-unitPrice
的值并乘以 select 值 .buyingItem-qty select
您的代码的问题是 find()
用于查找子元素,而 .buyingItem-unitPrice
元素是 select
父元素的兄弟元素的子元素。要检索它,您可以使用 closest()
的组合来获取公共父级,然后使用 find()
。试试这个:
$(".cartItem-Load").on('change', '.buyingItem-qty select', function() {
var unitPrice = $(this).closest('.cartItem-buyingItem').find('.buyingItem-unitPrice').text();
var total = parseInt($(this).val(), 10) * parseFloat(unitPrice);
console.log(total);
})