当我在 daterangepicker 上触发更改事件时未触发其他 ID

Other IDs not triggered when i trigger change event on daterangepicker

当我在日期选择器上触发更改事件时,它工作正常但没有触发其他 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);

  })

})