我正在使用
jquery的datepicker,每当从内联datepicker对象中挑选日期时,从ajax调用中填充项目列表.脚本非常完美,除了我无法触发onSelect事件来填充我的初始项目列表.
我可以通过使用PHP最初填充列表来解决这个问题,但我真的很想避免这种情况.
$(document).ready(function(){ //create date pickers $("#date_calendar").datepicker( { changeMonth: true,changeYear: true,dateFormat: 'yy-mm-dd',defaultDate: $.datepicker.parseDate("y-m-d",$('#date').val()),onSelect: function(dateText,inst) { alert('onSelect triggered! Yay!'); $('#date').val($.datepicker.formatDate("yy-mm-dd",$('#date_calendar').datepicker('getDate'))); // Ajax for populating days when selected $.post( "server_requests/show_day.PHP",{ date: $('#date').val(),user_id: $('#user_id').val() },function(data) { //return function $('#my_day_tasks').html(data.resultTable); },"json" ); } }).disableSelection(); $("#date_calendar").trigger('onSelect'); });
任何帮助是赞赏:)
解决方法
你不能把它重构为自己的功能,你重新使用吗?严格来说,日期选择器选择不是真的在页面加载时会发生什么.你只是想做完全同样的事情发生在datepicker确实被选中.
function populateList(dateText,inst) { alert('alert test'); $('#date').val($.datepicker.formatDate("yy-mm-dd",$('#date_calendar').datepicker('getDate'))); // Ajax for populating days when selected $.post("server_requests/show_day.PHP",{ date: $('#date').val(),user_id: $('#user_id').val() },function(data) { //return function $('#my_day_tasks').html(data.resultTable); },"json" ); } $(document).ready(function(){ //create date pickers $("#date_calendar").datepicker( { changeMonth: true,onSelect: populateList }).disableSelection(); // i'm not bothering to pass the input params here,because you're not using them anyway populateList(); });