我需要<input id="from" class="date"/>
才能拥有onSelect
选项。其他日期选择器没有。
的header.php
<script>
$(function() {
$('input.date').each(function() {
$(this).datepicker();
});
});
</script>
我需要在单独的脚本块中添加事件,因为它包含在不同的文件中。 我尝试了以下但它不起作用。 输入变为jQuery Ui datepicker但没有附加事件。
众多php页面中的一个
<?php include('header.php'); ?>
<script>
$(function() {
$('#from').datepicker({onSelect: function() {
alert(1);
}
});
</script>
是否有可能实现?
答案 0 :(得分:1)
你可以尝试:
$(function() {
$('input.date').not("#from").each(function() {
$(this).datepicker();
});
});
$(function() {
$('#from').datepicker({onSelect: function() {
alert(1);
}
});
});
答案 1 :(得分:1)
好吧,你可以只听另一个事件,不需要自定义onSelect。
例如,在输入字段上监听change
事件,因此每当内部数据发生变化时,您将触发手动回调。
编辑:
好吧,如果事件没有附加,请尝试修改jquery.ui.datepicker.js
文件。
打开它,搜索function Datepicker()
构造函数,然后搜索this._defaults
对象。
您应该使用类似
的内容更改onSelect: null, // Define a callback function when a date is selected
onSelect: function(){
if( /*this is $("#from")*/ )
alert('1');
},
答案 2 :(得分:0)
好吧,伙计们,感谢您提供有用的答案,Up投票,但我最终这样做了。 不完全是我想要的,但它会做,直到我可以改进我的OO风格javascript
的header.php
<script>
$(function() {
$('input.date').each(function() {
$(this).datepicker({
onSelect: function() {
typeof dateChanged === 'function' && dateChanged(this);
}
});
});
});
</script>
众多php页面中的一个
<?php include('header.php'); ?>
<script>
var dateChanged = function(datePicker){
console.log(datePicker)
};
</script>
修改
似乎首选的方法是:
的header.php
<script>
$(function() {
$('input.date').each(function() {
$(this).datepicker();
});
});
</script>
众多php页面中的一个
<?php include('header.php'); ?>
<script>
$(function(){
$('#from').datepicker('option','onSelect',function(){
alert(1);
});
});
</script>