2011-09-06 52 views
2

所以我使用Jquery Mobile的Date Picker輸入,並且在正確渲染時遇到了一些困難。我已經inclueded全部由JQM團隊提供必要的文件(http://dev.jtsage.com/jQM-DateBox/#/jQM-DateBox/demos/install.html),並且可以得到它渲染的時候我直接將它添加到靜態的HTML:Jquery Mobile - 日期選取器問題

<label for="mydate">Some Date</label> 
<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='{"mode": "calbox"}'> 

不過,我動態生成的形式和我加入這一點的HTML即時。我所有的其他投入所得到的jQuery Mobile的樣式,除了這一個執行以下操作:

$(form).html(formFields);    
var page = document.getElementById('page'); 
$(page).trigger('create'); 

formFields是HTML字符串我追加到該頁面。

這樣看來,在上面的靜態HTML頁面,在頁面加載時JQM是添加了一堆東西該代碼。當我調用create方法時,它似乎沒有這樣做。有沒有人有任何想法,如果有圍繞此呢?提前致謝。


UPDATE: 因此,與樂於助人的評論貼在下面,它會出現,因爲這不是一個官方JQM輸入,調用「create」方法將不刷新此輸入,並應用必要的樣式。上面貼出的HTML正是我用我的字符串生成器創建的。問題在於令人耳目一新。當頁面加載時,一些額外的東西被添加到日期輸入HTML。下面是它在螢火蟲看起來像什麼...任何一個經驗呢?

<div class="ui-input-datebox ui-shadow-inset ui-corner-all ui-body-c"> 
    <input id="mydate" class="ui-input-text ui-body-null ui-body-x" type="text" data- options="{'mode': 'calbox'}" data-role="datebox" name="mydate"> 
    <a class="ui-input-clear ui-btn ui-btn-up-c ui-btn-icon-notext ui-btn-corner-all ui-shadow" title="date picker" href="#" data-theme="c" style="vertical-align: middle; float: right;"> 
    <span class="ui-btn-inner ui-btn-corner-all"> 
     <span class="ui-btn-text">date picker</span> 
     <span class="ui-icon ui-icon-grid ui-icon-shadow"></span> 
    </span> 
    </a> 

+0

一些澄清DateBox。 JQM沒有發佈這個,它是JT Sage的第三方插件。有了這個說法,你可以編輯你的問題,並添加你用來動態創建頁面的代碼嗎?或頁面本身? –

+0

啊,我明白了。我會修改它。 – gabaum10

回答

1

好的人,想通了。

事實證明,它沒有得到應用的樣式,甚至稱「創造」的方法之後。所以我轉向了一種在網絡上浮動的黑客。我基本上只是摧毀了整個窗體並重建它,如下所示:

$('#page').page("destroy").page(); 

Page是表單所在的內容窗格的名稱。重新加載簡單。希望可以幫助一些你們在那裏的......

+0

謝謝。這爲我節省了很多挫折 –

1

要獲得JT舞臺DateBox正確呈現,當你動態插入HTML,執行以下代碼

$('#mydate').textinput(); 
$('#mydate').datebox(); 
$('#mydate').datebox('hardreset'); 

第一行使其作爲JQM文字輸入而接下來的2線做休息