2012-02-29 86 views
1

我用下面的代碼才能把移動造型的輸入形式:jQuery Mobile的形式失去造型

items.push('<form id="flatmetrics"><table >'); 
for (i = 0; i < len; i += 1) { 
    row = resultflat.rows.item(i); 
    if (row.currentmetric == 0) { 
     items.push('<tr><td width="20%"><label for="' + row.flatno + '">' + row.flatdescription + '</td><td width="20%">' + row.previousmetric +'</label></td><td width="60%"><input type="number" name="' + row.flatno + '" id="' + row.flatno + '" flat="' + row.flatdescription + '" building="' + row.buildingcode + '" class="field" value="' + row.previousmetric + '"/></td></tr>'); 
    } 
    else { 
     items.push('<tr><td width="20%"><label for="' + row.flatno + '">' + row.flatdescription + '</td><td width="20%">' + row.previousmetric +'</label></td><td width="60%"><input type="number" name="' + row.flatno + '" id="' + row.flatno + '" flat="' + row.flatdescription + '" building="' + row.buildingcode + '" class="field" value="' + row.currentmetric + '"/></td></tr>'); 
    } 
} 
items.push('</table></form>'); 

$('#entriesflatFM').show(); 
$('#entriesflatFM').html(items.join('\n')).page(); 

第一次訪問後,形式不具有增強的風格。

有誰知道這是爲什麼?

回答

0

你試過.trigger('create')

$('#entriesflatFM').html(items.join('\n')).trigger('create'); 

或許選擇使用.trigger('create')前新<form>元素:

$('#entriesflatFM').html(items.join('\n')).children().trigger('create'); 

而且你連續兩次使用同樣的選擇,你應該鏈中的函數調用時可能:

$('#entriesflatFM').show(); 
$('#entriesflatFM').html(items.join('\n')).page(); 

可以是:

$('#entriesflatFM').show().html(items.join('\n')).page(); 

更新

如果沒有這個工程,那麼你可以嘗試調用特定的控件功能,用於每個類型的widget:

$('#entriesflatFM').show().html(items.join('\n')) 
    .find('[data-type="range"]').slider().end() 
    .find('select').selectmenu(); 
+0

沒有上述作品對我來說。奇怪的是,如果我選擇返回前一個菜單的另一種選擇也增強了風格消失... – kosbou 2012-02-29 13:02:16