2012-10-02 29 views
6

Tôi đang cố gắng thêm sự kiện làm mờ trên đầu vào để ẩn lịch.
Plugin tôi đang sử dụng để hiển thị lịch là số eternicode/bootstrap-datepicker.Ẩn trình giữ ngày tháng trên sự kiện mờ

Đây là mã nguồn http://jsfiddle.net/KLpq7/75/

var inputs = $('.datepicker').datepicker({ 
    autoclose: true 
}); 

inputs.on('blur', function() { 
      console.log($(this)); 
      // I would like to hide just the date picker 
      //$(this).hide(); 
}); 

Trả lời

3
inputs.on('blur', function() { 
     inputs.datepicker('hide'); 
    }); 
+2

Đáng tiếc là nó hoạt động một phần vì datepicker ẩn nhưng ngày không được điền trong đầu vào. –

8

Bạn có thể thử này:

var inputs = $('.datepicker').datepicker({ 
format: 'yyyy-mm-dd', 
autoclose: true}).on('changeDate', function (ev) { 
     $(this).blur(); 
     $(this).datepicker('hide'); 
    }); 

Fiddle: http://jsfiddle.net/KLpq7/82/

+1

Đây là câu trả lời đúng và phải được đánh dấu như vậy. Câu trả lời từ AntoJs thực sự chọn ngày không thể bởi vì sự kiện mờ được gọi trước khi bấm có thể đặt giá trị ngày tháng vào đầu vào. – mikeschuld

+0

Nếu bạn đã giải quyết, hãy cân nhắc chấp nhận câu trả lời –

1

Hãy thử this cập nhật fiddle. Tôi nghĩ rằng kể từ khi bạn đang sử dụng một bộ chọn lớp có một số xung đột trong xử lý sự kiện mờ. Tôi đã tách từng bộ chọn lịch theo ID và có vẻ như nó hoạt động tốt ngay bây giờ.

2

Đây là known bug * - nếu bạn sử dụng "datepicker" làm lớp cho đầu vào của bạn, nó sẽ can thiệp vào mã datepicker, vì datepicker cũng là lớp được sử dụng cho ngăn chọn. Sử dụng một lớp khác cho bộ chọn của bạn sẽ khắc phục sự cố ngay bây giờ.

* Không có bất kỳ mở vé cho nó vào lúc này, nhưng nó được công nhận là một lỗi nhỏ

Các vấn đề liên quan