2012-02-29 53 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