jQuery最接近的方法不适用于类



我正试图从表中提取的列表中获取项目的id。每当我试图使用最接近的方法获取id时,它都不起作用。

$(".remove-from-cart").click(function(e) {
e.preventDefault();
var package_id = $("#package_id").closest('.p_id').val();
console.log(package_id);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr class="package_id">
<td class="cart_product_img d-flex align-items-center">
<a href="#"><img src="img/product-img/product-9.jpg" alt="Package"></a>
<h6>{{ $details['course_title'] }}</h6>
</td>
<input type="hidden" class="p_id" value="{{ $details['package_type_id'] }}">
<td class="price">$<span id="price_per_head">{{ $details['price_per_head'] }}</span></td>
<td class="qty">
<div class="quantity">
<span class="qty-minus" id="qty-minus" onclick="var effect = document.getElementById('qty'); var qty = effect.value; if( !isNaN( qty ) &amp;&amp; qty &gt; 1 ) effect.value--;return false;">
<i class="fa fa-minus" aria-hidden="true"></i>
</span>
<input type="number" class="qty-text" id="qty" step="1" min="1" max="99" name="member_number" value="{{$details['number_of_members']}}">
<span class="qty-plus" id="qty-plus" onclick="var effect = document.getElementById('qty'); var qty = effect.value; if( !isNaN( qty )) effect.value++;return false;">
<i class="fa fa-plus" aria-hidden="true"></i>
</span>
</div>
</td>
<td class="total_price">
$
<span id="total">{{ $details['price'] }} </span>
</td>
<td class="actions" data-th="">
<button class="btn btn-danger btn-sm remove-from-cart">
<i class="fa fa-trash-o"></i>
</button>
</td>
</tr>
</table>

查看行

var package_id = $("#package_id").closest('.p_id').val();

package_id是一个类名,您应该将上面的行替换为

var package_id = $(".package_id").closest('.p_id').val();

closest((函数在中不起作用

您应该使用find((方法而不是

$(".remove-from-cart").click(function (e) {
e.preventDefault();       
var package_id = $("#package_id").find('.p_id').val();
console.log(package_id);
});

或者如果你有类名而不仅仅是用类名

var package_id = $(".package_id").find('.p_id').val();

如果按钮在,请使用onclick按钮获取package_id:

<button class="btn btn-danger btn-sm remove-from-cart" onclick="remove({{ $details['package_type_id'] }})">
<i class="fa fa-trash-o"></i>
</button>
function remove(package_id){ 
alert(package_id);
}

最新更新