2015-12-07 67 views
0

我有一個datepicker在我的網頁,也我有兩個單選按鈕,如下所示。的DatePicker jQuery中未裝入第二次

<input type="radio" name="radio1" value="radio1" checked> Radio 1 

<input type="radio" name="radio2" value="radio2" >Radio 2 

我的日期選擇器的html是:

<input 
     type="text" 
     id="mydatepicker" 
     aria-controls="sample_1" 
     class="form-control input-small input-inline" > 

我的JS代碼:

$('#mydatepicker').datepicker({ 
     format: 'dd/mm/yyyy', 
     beforeShowDay: EnableDisableDates 
}); 

function EnableDisableDates(date) { 
    var formattedDate = $.datepicker.formatDate('dd/mm/yy', date); 
    if ($("#radio1").is(':checked') == false) { 
     if (date < Date.parse('11/23/2015')) 
      return {enabled: false}; 
    } 
    else { 
     return [true]; 
    } 
} 

我想表明的選擇電臺1和我所有的日期想要禁用日期上之前23-NOV-2015()選擇單選按鈕2 (無線電2)

以上是我的方案。

我的問題是:

對於加載第一次,它是爲電臺1工作正常,即它使所有的日期電臺1

在選擇收音機2,它不調用日期選擇器beforeShowDay屬性的方法EnableDisableDates方法。

我不知道爲什麼它不調用方法。幫助我擺脫這個問題。

回答

1

您CA使用的minDate,而不是禁用手動looing這將花費性能比較日期:

試試這個:

JS

$(function() { 
    $(".radio1").change(function() {  
    if($(".radio1:checked").val()=="radio2"){ 
     $('#mydatepicker').datepicker('destroy'); 
     $('#mydatepicker').datepicker({ 
      format: 'dd/mm/yyyy',   
      minDate: '11/23/2015' 
     }); 
    }else{ 
     $('#mydatepicker').datepicker('destroy'); 
     $('#mydatepicker').datepicker({ 
      format: 'dd/mm/yyyy',     
     });  
    } 
    }); 
$('#mydatepicker').datepicker({format: 'dd/mm/yyyy'}); 
    }); 

HTML:

<input type="radio" class="radio1" name="radio1" value="radio1" checked> Radio 1 
<input type="radio" class="radio1" name="radio1" value="radio2" >Radio 2<input 
     type="text" 
     id="mydatepicker" 
     aria-controls="sample_1" 
     class="form-control input-small input-inline" > 

Fiddle

更新:

我們已經使用了摧毀創建日期選擇器 jQuery DatePicker -- Changing minDate and maxDate on the fly的新實例看到這個

+0

一次,如果我摧毀日期選擇器,它顯示所有的日期。銷燬datepicker後沒有任何東西被初始化。 – Vikash

+0

做你檢查我的小提琴,做您單擊的單選 – Afsar

+0

是!它不是在的jsfiddle – Vikash

相關問題