当选择日期选择器中的日期时,我试图获取隐藏输入的值,因此我使用 onSelect
方法,然后运行 $(this).find ('.js-hidden-date').val();
但这会返回 undefined
但如果我只是运行 $('.js-hidden-date'). val()
我得到了我需要的值。我猜这与上下文有关,但不确定如何解决这个问题?
JS
$('.js-date').datepicker({
dateFormat: 'dd M yy',
altFormat: 'yy, m, dd',
altField: '.js-date-hidden',
selectOtherMonths: true,
showOtherMonths: true,
beforeShowDay: available,
onSelect: function() {
console.info('4) Trigger event date:selected', $(this).find('.js-date-hidden').val());
}
});
JSFiddle http://jsfiddle.net/yXMKC/1602/
最佳答案
当您使用find
时,它会查找子级,而.js-hidden-date
是同级,您可以使用next()
为此:
$(this).next()
如果在最终代码中隐藏字段不是直接同级,您也可以:
$(this).nextUntil('.js-hidden-date').next()
关于javascript - 如何在 datepicker ui 的 onSelect 方法中使用 $(this),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32213677/