2

我初始化jQuery的用戶界面的日期選擇如下:數據屬性添加到jQuery UI的日期選擇在初始化

var datesArray=['3/7/2016','3/12/2016'] 
$('#datepicker').datepicker({ 
    inline: true, 
    beforeShowDay: function (date) { 
     var theday = (date.getMonth()+1) +'/'+ 
      date.getDate()+ '/' + 
      date.getFullYear(); 
     return [true,$.inArray(theday, datesArray) >=0 ? "specialDate":'']; 
    } 
}); 

這將創建與datesArray適用於所有日期的類specialDate日曆。

此外,我需要添加一個唯一的數據屬性值(類似於data-value="39")在datepicker的初始化這些相同的日期,但我不知道如何選擇日期。

我可以使用類似

var datavalues = { 
    "3/7/2016" : "38", 
    "3/12/2016" : "39" 
}; 

其中3839data-value秒。

這個關於adding a custom parameter的問題讓我接近,但我不確定如何使用它來在創建時添加數據屬性。

+0

有沒有現成的方式來做到這一點。最簡單的方法是使用'onChangeMonthYear',但它仍然非常麻煩和/或脆弱。你想達到什麼目的?我相當肯定有比不斷綁定和解綁定數據更好的方法 – blgt

+0

@blgt記住,雖然,我基本上試圖用數據層填充日曆。我確信我可以在創建日曆後立即做一些愚蠢的事情,但我更願意在創建日曆時添加數據屬性,有點像應用該類的方式。 –

+0

這是對問題的重新陳述。您能否提供更多關於*您想要達到的附加數據的細節? (也可以將相關信息編輯到問題中而不是評論中,以獲得更好的格式) – blgt

回答

1

您將無法使用.data()或創建日期選擇器時的數據屬性。您可以使用onSelect像這樣:

工作實例:https://jsfiddle.net/ha5zgvby/

HTML

<p>Date: 
    <input type="text" id="datepicker" /> 
</p> 
<p>Stuff: 
    <input type="text" id="special" /> 
</p> 

JQuery的

var datavalues = { 
    "03/07/2016": "38", 
    "03/12/2016": "39" 
}; 
$(function() { 
    var $result = $("#special"); 
    $('#datepicker').datepicker({ 
    inline: true, 
    onSelect: function(dt, obj) { 
     $result.val(datavalues[dt]); 
    }, 
    altField: "#result" 
    }); 
}); 

當日期採摘,該函數傳遞所選的值。如果該值作爲索引存在於您的對象中,那麼您可以以某種方式使用它。

+0

這很好。謝謝,@Twisty –

+0

@Twisty ..我如何顯示datepicker日期的任何數字的計數? –

+0

@PathikVejani不知道我明白這個問題。你的意思是顯示兩個日期範圍內的天數? – Twisty

相關問題