2011-08-09 123 views
1

有誰知道防止jQuery timepicker addon在關注文本框時自動打開的方法嗎?該文檔似乎沒有提供一種方式,我目前正在查看源代碼,看看我是否可以添加功能但我忽略了一種簡單的方法來完成此操作?防止jQuery timepicker插件自動打開

+0

當你想要的時候選擇器開? –

+0

稍後稍後。例如按下按鈕。 –

+0

然後不要調用'$('#yourelement')。datetimepicker();'直到觸發按鈕點擊事件。 –

回答

2

如何在點擊按鈕時啓動datetimepicker(以及如何聚焦輸入框),並在拾取器關閉時銷燬對象?

$('#button').click(function() { 
    $('#timepicker').datetimepicker({ 
     onClose: function(dateText, inst) { 
      $(this).datetimepicker('destroy'); 
     } 
    }).focus(); 
}); 

實施例:http://jsfiddle.net/william/NRH9r/

+0

聰明,好多了,然後我想出了。謝謝! –

0

嘗試使用名爲unbind()的jquery函數從datetimepicker中刪除onfocus事件。然後,您可以在觸發點擊事件或任何其他想要觸發的事件時調用日期時間選擇器的實例。另一種選擇是調用觸發datetimepicker的onfocus事件,並將事件對象傳入回調函數。然後調用例如event.preventDefault()。這將阻止onfocus()事件執行通常的操作。

+0

你最簡單的解決方案是$(document).ready(function(){('。selector')。datepicker({showOn:'button'}); }); –

0

作爲timepicker是一個插件到jQuery UI的日期選擇器,則可以使用showOn選項來指定一個按鈕用於觸發它。請參閱日期選擇器示例here

這裏有一個如何這可以用於時間選擇器的例子:

$('input:text.timepicker').timepicker({ 
     showOn: "button", 
     buttonImage: "/content/images/time_icon.png", 
     buttonImageOnly: true 
    });