2 回答

TA貢獻1869條經(jīng)驗 獲得超4個贊
使用value屬性來保存您想要與復(fù)選框關(guān)聯(lián)的數(shù)據(jù),不要使用它來切換true和false。checkbox是否被勾選,可以從checked屬性中得知。
一條建議,您很可能不想使用復(fù)選框標(biāo)簽,因為value值用于內(nèi)部目的,用于任何數(shù)據(jù)操作,而標(biāo)簽的唯一目的是在 UI 中顯示。
請嘗試以下解決方案方向:
$('.checkboxes input').on('change', (event) => {
const checked = $(event.target).prop('checked')
const value = $(event.target).prop('value')
console.log(checked, ':', value)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="checkboxes">
<input type="checkbox" id="checkbox1-id" value="checkbox-1" /><label for="checkbox1-id">Checkbox 1</label>
<input type="checkbox" id="checkbox2-id" value="checkbox-2" /><label for="checkbox2-id">Checkbox 2</label>
<input type="checkbox" id="checkbox3-id" value="checkbox-3" /><label for="checkbox3-id">Checkbox 3</label>
</div>

TA貢獻1851條經(jīng)驗 獲得超5個贊
view.$el.find('div.checkboxes input').change(function (event) {
var id = $(event.target).attr('data-id');
if ($(event.target).prop('checked')) {
resultSetParameters.get('filter').coachProperties.push(id);
resultSetParameters.trigger('change');
} else {
var index = resultSetParameters.get('filter').coachProperties.indexOf(id);
if (index > -1) {
resultSetParameters.get('filter').coachProperties.splice(index, 1);
resultSetParameters.trigger('change');
}
}
});
添加回答
舉報