我试图在各种输入类型的变更事件上“堆叠”几个,它们到目前为止一直工作,直到我尝试在“输入”类型的输入上应用相同但是jquery datepickers:
<div class="col-md-5">
<input type="input" name="start_date" id="start_date" class="start_date" placeholder="Data (início)" />
</div>
<div class="col-md-5">
<input type="input" name="end_date" id="end_date" class="end_date" placeholder="Data (fim)" />
</div>
问题是当我更改日期时,不会触发更改事件:
var $filterCheckboxes = $('input[type="checkbox"]');
var $numbers = $('input[type="number"]');
var $inputs = $('input[type="inputs"]');
$filterCheckboxes.add($orderBy).add($inputs).add($numbers).on('change', function() {
如何在chaange或onselect事件上添加datepicker到堆栈?
答案 0 :(得分:0)
在这种情况下,我建议你识别带有附加类或其他东西的日期选择器的输入......在这个例子中,我假设你的日期选择器输入有一个名为&#34; datepickered&#34;的类。
var $filterCheckboxes = $('input[type="checkbox"]');
var $numbers = $('input[type="number"]');
var $inputs = $('input[type="inputs"]');
$filterCheckboxes.add($orderBy).add($inputs).add($numbers).on('change', function() {
// [...] Whaterver the function do
if($(this).hasClass('datepickered')) {
$(this).datepicker('refresh');
}
});
我更喜欢这个:只是阻止你的事件被添加到带有datepicker的输入中,然后像这样使用你的函数
var $filterCheckboxes = $('input[type="checkbox"]');
var $numbers = $('input[type="number"]');
var $inputs = $('input[type="inputs"]');
var onChange = function() { /* [...] Whaterver the function do */ };
$filterCheckboxes.add($orderBy).add($inputs).add($numbers).not('.datepickered').on('change', onChange);
$('.datepickered').datepicker({ onSelect: onChange });
N.B。我没有测试此代码的任何部分