javascript - 当我在 daterangepicker 上触发更改事件时未触发其他 ID
问题描述
当我在 datepicker 上触发更改事件时,它工作正常,但未触发其他 ID 的更改事件。但是,当我将日期范围 ID 放在末尾时,更改事件对所有 ID 都有效,但不适用于日期范围。我想使用此更改事件适用于所有 ID,包括日期范围选择器。
$(document).on('change', '#sell_list_filter_date_range', '#sell_list_filter_location_id, #sell_list_filter_customer_id, #sell_list_filter_payment_status, #created_by, #sales_cmsn_agnt, #service_staffs', function () {
// here change event works fine for only daterange
});
$(document).on('change', '#sell_list_filter_location_id, #sell_list_filter_customer_id, #sell_list_filter_payment_status, #created_by, #sales_cmsn_agnt, #service_staffs','#sell_list_filter_date_range', function () {
// here change event works fine for all IDs instead for Date range id
});
解决方案
如果 onchange 事件对每个下拉菜单都具有相同的逻辑,则您可以只使用通用class
作为选择器,以避免在您的工作中造成混淆和不必要的代码。您可以通过添加classnames
要将侦听器附加到的每个下拉列表来做到这一点。
<select class="listen" id="id-here">
...
</select>
<select class="listen" id="some-unique-id-here">
...
</select>
然后,您可以将侦听器附加到change
$(function(){
$('.listen').on('change', function(){
/*
Now regardless of the dropdown's id,
you can now refer to the element by using $(this)
*/
var value = $(this).val();
alert(value);
})
})
推荐阅读
- python-3.x - RHEL 7.6 - 从 Source Broke Network 构建 Python3.6
- c# - 有没有办法映射具有多个列表类的父根类 - 包括使用 Automapper 的子类?
- javascript - 需要解释 Array.prototype.reduce() 语法
- javascript - 无法在 Mocha 上运行测试;需要 Babel 7.0.0 但正在加载 6.2.3
- sqlite - 为什么一个特定的比较值会导致这个 sql 查询返回一个模棱两可的列错误,而其他的却没有?
- python - 查找字典中出现频率最高的字符
- office-ui-fabric - 如何在 DetailsList 组件中使整行可点击?(office-ui-fabric)
- flutter - Flutter:如何获取除某些键之外的所有 SharedPreferences 键
- python-3.x - 需要将数组元素添加到列表中。尝试使用“tolist”、“extend”和“append”,但不成功
- github - 在 github 中管理 clearcase 工作流