jQuery daterangepicker:执行两次警报?

时间:2010-11-15 12:32:45

标签: jquery daterangepicker

我希望在您更改/约会时提醒“确定”。但我得到两个警报而不是一个?

我该如何解决这个问题?

这是代码:

$(document).ready(
function(){
   $('#datePicking')
       .daterangepicker({
       arrows:true,
       onChange: function(){
           $('#Viewer')
           alert('ok');
       }
       }); 
});

这是一个有效的例子:http://jsfiddle.net/BU5PJ/2/

jquery 1.4.4,UI 1.8.5,+ daterangepicker from filamentgroup.com

3 个答案:

答案 0 :(得分:2)

根据http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/

中找到的文档的外观
  

onChange:函数,回调即   每当输入日期时执行   变化(范围可能发生两次   选择)。

当我选择特定日期时,我只有一个警告框。

答案 1 :(得分:0)

试试这个

$(document).ready(
 function(){
 $('#datePicking')
   .daterangepicker({
   arrows:true,
   onClose : function(){
       $('#Viewer')
       alert('ok');
    }
   }); 
});

答案 2 :(得分:0)

就我而言,我正在使用带角度的daterangepicker。我的目的是观察存储日期范围值的模型中的任何更改,并在以后保存它以进行AJAX调用。我遇到同样的问题,因为即使我选择'今天',每当日期改变时它会两次击中事件:一旦它是具有startDate和endDate属性的对象,另一次是一个字符串

可以作为一种优势使用。

    $scope.$watch(
    'rangeOfDate',
    function (newValue) {
        // Due to a known bug of open source library daterangepicker, the event is hit twice 
        //upon change. Once it is an object, and once it is a string. So, use appropriately.
        var selectedDateRange = new Object();
        if (typeof (newValue) == 'object') {
            selectedDateRange.startDate = new Date(newValue.startDate).toLocaleDateString();
            selectedDateRange.endDate = new Date(newValue.endDate).toLocaleDateString();
            //Do as you wish with this custom object
        }
        else if (typeof (newValue) == 'string') {
            alert("string");
        }               
    },
    false);