jQuery移动表格失去造型

时间:2012-02-29 12:15:36

标签: jquery forms mobile 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();

第一次访问后,表单没有增强的样式。

有谁知道这是为什么?

1 个答案:

答案 0 :(得分:0)

您是否尝试过.trigger('create')

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

或者在使用<form>之前选择新的.trigger('create')元素:

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

此外,您连续两次使用相同的选择器,您应该尽可能链接您的函数调用:

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

可以是:

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

更新

如果这些都不起作用,那么您可以尝试为每种类型的小部件调用特定的小部件功能:

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