2014-03-13 36 views
0

我在我的日期字段上使用'DateTimePicker'(http://xdsoft.net/jqplugins/datetimepicker/)。DateTimePicker不同字段上的不同參數

我會管理我的日期字段上的不同選項。

通過實例:

  • 場 「生日」:allowBlank =假,格式= 'YMD'
  • 場 「appointmentdate」:allowBlank = TRUE,格式= 'DMY'

我的javascript是

jQuery(document).on('ready page:change', function() { 

    var datefield = jQuery("[data-behaviour~='my-datepicker']"); 
    datefield.datetimepicker({ 
     format: datefield.attr('data-dateformat') || 'Y-m-d', 
     timepicker:false, 
     allowBlank: datefield.attr('data-allowblank'), 
     lang: datefield.attr('data-lang') || 'en' 
    }); 

}); 

我的問題是所有的'選項'(allowblank,格式)是相同的人l日期字段!

我不能讓我的datetimepicker函數只適用於有選項的字段(allowblank = true僅適用於'appointmentdate'...)。

回答

0

如下你可以這樣做:

jQuery(document).on('ready page:change', function() { 

    var datefields = jQuery("[data-behaviour~='my-datepicker']"); 

    datefields.each(function(){ 
     $(this).datetimepicker({ 
      format: $(this).attr('data-dateformat') || ($(this).attr('data-allowblank') ? 'd-m-Y' : 'Y-m-d'), 
      timepicker:false, 
      allowBlank: $(this).attr('data-allowblank'), 
      lang: $(this).attr('data-lang') || 'en' 
     }); 
    }); 

}); 

或者乾脆在HTML代碼中的data-dateformat屬性指定。

+0

謝謝T.S.可能是我不清楚:我嘗試「傳遞」參數到我的*兩個*日期字段,但* differents *參數(我不希望這些字段的行爲相同)。另外,在您的答案中,您將「data-dateformat」參數與「data-allowblank」參數混合使用。感謝 –

+0

據我瞭解,你希望'format'參數根據'data-allowblank'屬性而不同,對吧?這就是這裏發生的事情。 'format:datefield.attr('data-dateformat')|| ...'意味着:如果設置了data-dateformat,則使用它,否則使用'...' 而且,'(datefield.attr('data-allowblank')?'dmY':'Ym-d '')表示:如果'data-allowblank'爲true,則使用'dm-Y',否則使用'Ym-d'。 這是你要求的權利? –

+0

編號我想要:行爲「允許空白」和「格式美國」的Field1和行爲「不允許空白」和「格式FR」的Field1。但是目前,我對這兩個領域(「允許空白」和「美國格式」)有相同的看法。好像該函數適用於所有元素'[data-behavior〜='my-datepicker']',而不是逐個對象地分離。謝謝T.S. –