Jeditable Datepicker onblur问题

我正在使用Jeditable和datepicker进行内联编辑 . 我的表中有一列显示Date作为超链接 . 当我点击它时,它显示了datepicker . 并且当选择特定日期时,它在后端更新,现在使用更改的值更新单元格 . 但是,在改变月份或年份时,我遇到onblur事件的问题 . 当我点击datepicker控件上的“上一个”或“下一个”按钮时,会触发此事件 . 选择日期时会出现异常 . 只要所选日期在当前月份,这就可以正常工作 . 我尝试了所有可能的解决方案:

stackoverflow.com/questions/2007205/jeditable-datepicker-causing-blur-when-changing-month

如果settimeout,则在关闭datepicker或真正的onblur事件时,控件不会更改回正常的超链接 .

这是我的代码,

$ .editable.addInputType('datepicker',{element:function(settings,original){var input = $(''); if(settings.width!='none'){input.width(settings.width); } if(settings.height!='none'){input.height(settings.height);} input.attr('autocomplete','off'); $(this).append(input); return(input) ;},插件:function(settings,original){var form = this;

settings.onblur = function(e) { 
        t = setTimeout(function() {
         original.reset.apply(form, [settings, self]);
        }, 100);
     };

    $(this).find('input').datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: 'dd-M-y',
        closeAtTop: true,
        onSelect: function(dateText) { $(this).hide(); $(form).trigger('submit'); }
    });            
},
submit  : function(settings, original) { }

});

$(function(){$(' . edit_eta') . editable('update_must_fix_eta.php',{id:'bugid',name:'eta',type:'datepicker',event:'click',select:true ,width:'50px',onblur:'cancel',cssclass:'editable',指标:'正在更新ETA,请稍候 . ',样式:'inherit',submitdata:{version:'4.2(4)',tag: 'REL_4_2_4',qstr:1}});});

我尝试了如此链接中提到的hacking jeditable.js:http://groups.google.com/group/jquery-dev/browse_thread/thread/265340ea692a2f47

即使这样也无济于事 .

任何帮助表示赞赏 .

回答(2)

2 years ago

你试过jeditable-datepicker插件吗?它似乎完全符合你的需要 .

它在Jeditable中启用了jQuery UI Datepicker . 这是demo .

2 years ago

是的,我使用的是同样的 . 我不得不禁用Prev和Next按钮,分别导航到上个月和下个月 . 单击链接时我显示3个月的日历,如果用户想要输入这3个月中任何一个月都没有的日期,我让他通过输入文本框可编辑来手动输入 . 这解决了我的问题 .