[英]Populating jQuery mobile datebox with restricted dates dynamically
我在使用jQuery mobile的日期框插件時遇到了麻煩。
在我的代碼中,我正在生成ISO8601格式的日期數組,因為這是datebox所需要的。
在調用ajax方法並帶回一些結果(響應用戶輸入)后,我正在生成此數組。 然后,我使用jQuery .attr函數向我的“ calbox”節點添加data-options屬性,如下所示:
<input name="mydate" id="mydate" type="date" data-role="datebox">
我的jQuery代碼如下所示:
$("#NewPaymentPlans").attr("data-options", '{"mode": "calbox", "enableDates": ' + DateString + ' }');
DateString是轉換為字符串的日期數組。
輸出的HTML看起來像這樣:
<input name="NewPaymentPlans" id="NewPaymentPlans" type="text" data-role="datebox" class="ui-input-text ui-body-c" readonly="readonly" data-options="{"mode": "calbox", "enableDates": ["2013-08-06", "2013-08-07", "2013-08-08", "2013-08-09", "2013-08-10", "2013-08-11", "2013-08-12", "2013-08-13", "2013-08-14", "2013-08-15", "2013-08-16", "2013-08-17", "2013-08-18", "2013-08-19", "2013-08-20", "2013-08-21", "2013-08-22", "2013-08-23", "2013-08-24", "2013-08-25", "2013-08-26", "2013-08-27", "2013-08-28", "2013-08-29", "2013-08-30", "2013-08-31", "2013-09-01", "2013-09-02", "2013-09-03", "2013-09-04"] }">
(&quot;在Chrome顯示的HTML中顯示為雙引號)。
從我所看到的,這應該工作。 我做了一個測試,在其中使用了我的輸出代碼並填寫了data-options選項,以便頁面加載了它們並起作用。
我認為動態分配data-options屬性可能存在問題。 有誰知道更多嗎?
編輯:解決了!
我知道了。
$("#NewPaymentPlans").data('mobileDatebox').options.enableDates = arrayofdates
$('#NewPaymentPlans').datebox('refresh');
結合此功能:
function CreateDateArray(arrayofdates) {
var datesarray = [];
var stringofdates;
$.each(arrayofdates, function (i) {
datesarray.push(arrayofdates[i].toISOString().substring(0, 10));
});
return datesarray
}
動態填充$('#NewPaymentPlans').datebox('refresh')
之后,嘗試調用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.