我想在第二級獲取資料屬性
$('.filter-select').each(function() {
console.log($(this).data()) // this gives me all data
$(this).on('change', function() {
console.log($(this).data()) // but here gives me only on that i clicked i want it all
})
})
uj5u.com熱心網友回復:
而不是使用each, 然后嘗試將事件偵聽器附加到每個.filter-select元素,而是使用事件委托將偵聽器附加到父元素,以便它在所有.filter-select元素“冒泡”DOM 時捕獲來自所有元素的更改事件。
$(document).on('change', '.filter-selector', handleChange);
function handleChange() {
console.log($(this).data());
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select data-id="1" class="filter-selector">
<option selected>Choose (id: 1)</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<select data-id="2" class="filter-selector">
<option selected>Choose (id: 2)</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
uj5u.com熱心網友回復:
您可以簡單地:
$('.filter-select').each(function() {
const allData = $(this).data();
$(this).on('change', function() {
// use allData to access all
})
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/433732.html
標籤:javascript jQuery
