2016-03-05 48 views
0

我使用clockpicker進行時間選擇,並且我已經使用了twelvehour:true參數,該參數顯示AM/PM的時間。現在使用它的時間顯示是像如何在clockpicker中的時間和meridiem(AM?PM)之間添加分隔符?

11:55AM ==> 11:55 AM 

,而我想分離的時間之間meridiem

因此,有一個事件beforeDone/afterDone但沒有給出例子所以沒有得到如何使用該事件改變價值?

如何在clockpicker中分隔時間和meridiem(AM?PM)?謝謝

回答

2

使用afterDone看起來像添加分隔符最簡單的方法。看起來像afterDone只是當您將輸入字段設爲clockpicker時設置的屬性(在您告訴它的同一個地方)。我發現這個頁面有助於顯示事件:https://weareoutman.github.io/clockpicker/jquery.html

我爲你做了這個jsfiddle http://jsfiddle.net/1e71occs/4/。 JavaScript代碼是:

$('.container').each(function(){ 
    var clockpicker = $(this).find('input').clockpicker({ 
     autoclose: true, 
     twelvehour:true, 
     afterDone: function() { 
      console.log("after done"); 
      clockpicker.val(clockpicker.val().slice(0,-2)+' '+clockpicker.val().slice(-2)); 
     } 
    }); 

    // Manual operations 
    $(this).find('.button-a').click(function(e){ 
    // Have to stop propagation here 
     e.stopPropagation(); 
     clockpicker.clockpicker('show').clockpicker('toggleView', 'minutes'); 
    }); 
    $(this).find('.button-b').click(function(e){ 
    // Have to stop propagation here 
     e.stopPropagation(); 
     clockpicker.clockpicker('show').clockpicker('toggleView', 'hours'); 
    }); 

}); 

我不得不做var clockpicker =位才能到clockpicker參考,所以我可以改變它的值以包括分隔符。我嘗試使用$(this).val(),但它似乎是指$(窗口)。

+0

我身邊有6輸入欄,所以我必須使用類VAR輸入= $(「輸入一個。」),所以它不適用於所有輸入。 –

+0

啊,對於多個字段,我會使用jQuery each()。我更新了上面的代碼和jsfiddle。基本上我已經將每個函數中的所有內容都移到了一些更高級別的容器(.container)上。然後在每個循環中,clockpicker被設置並且按鈕的事件被綁定。如果你不使用按鈕,你/可以/直接循環輸入。例如$('input')。each(function(){var clockpicker = $(this).clockpicker({... – Ben

+0

我可以使用它的任何輸入通用?也可以更新小提琴嗎?謝謝 –