2017-06-30 101 views
0

我有一個簡單的自舉timepicker。與timepicker我連接三個單選按鈕:Bootstrap timepicker - 點擊更改minutestep

<div class="checkbox"> 
    <label><input id="customTimeslot" type="radio" name="autoTimeslot" value="custom" checked="checked"> Use custom</label><br> 
    <label><input id="autoHalfHourTimeslot" type="radio" name="autoTimeslot" value="half_hour"> Generate half hour slot</label><br> 
    <label><input id="autoTimeslot" type="radio" name="autoTimeslot" valu> Generate one hour slot</label> 
</div> 

在我的自定義JavaScript文件,我有這樣的設置:

$('.timepicker').timepicker({ 
    'showMeridian': false, 
    'showInputs': false, 
    'minuteStep': 15 
}); 

而且我不會是,如果半小時單選按鈕被選中,minuteStep應設置爲30。

所以,我雖然這將工作:

$("#autoHalfHourTimeslot").change(function(){ 
    if(this.checked) { 
     $('.timepicker').timepicker({ 
      'showMeridian': false, 
      'showInputs': false, 
      'minuteStep': 30 
     }); 
    } 
}); 

如何有史以來,只有當我刪除最初的代碼時,minuteSteps總是增加15,然後它將應用那30分鐘的步驟。但是如果沒有點擊單選按鈕,我需要15分鐘的步驟。感謝您的幫助。

回答

0

這個問題的解決方案是添加了另一個人之前刪除時間選擇器的當前設置。所以,我創建了一個節選的是分步功能,刪除當前timepicker和初始化另一個與傳遞minutestep參數:

function initializeTimepicker(minuteStep) { 
    if (document.readyState === 'complete') { 
     $('.timepicker').timepicker('remove'); 
    } 
    $('.timepicker').timepicker({ 
     'showMeridian': false, 
     'showInputs': false, 
     'minuteStep': minuteStep 
    }); 
} 
0

嘗試點擊功能

$("#autoHalfHourTimeslot").click(function(){ 
+0

不,我進入的是$(「#autoHalfHourTimeslot」)變化(函數(){。所以這不是問題,出於某種原因,它不會將新設置添加到時間選擇器 – Milo

0

我認爲你必須寫一個腳本,同時在電臺點擊和您必須根據無線電改變事件指派minuteStep。

$(document).ready(function() { 
    $('input[type=radio][name=autoTimeslot]').change(function() { 
    { 
     ..... 
    } 
} 

請檢查下面的鏈接,我認爲這將幫助你 How to use radio on change event?

+0

我做到了,但仍然不會改變它的價值。 – Milo