transaction.executeSql('SELECT * FROM Table1 ORDER BY date DESC', [],
function(transaction, result) {
if (result != null && result.rows != null) {
for (var i = 0; i < result.rows.length; i++) {
var row = result.rows.item(i);
$('#records').append('<li date = "'+row['date']+'" data-rowid2="' + row['Id'] + '"><a href ="#">' + 'test: ' + row['column1'] + '</a></li>').trigger('change');
}
}
},errorHandler);
transaction.executeSql('SELECT * FROM Table2 ORDER BY date DESC', [],
function(transaction, result) {
if (result != null && result.rows != null) {
for (var i = 0; i < result.rows.length; i++) {
var row = result.rows.item(i);
$('#records').append('<li date = "'+row['date']+'" data-rowid="' + row['Id'] + '"><a href ="#">'+ 'Test2: ' + row['column1'] +'</a></li>').trigger('change');
}
$("#records").listview().listview("refresh");
}
},errorHandler);
},errorHandler,nullHandler);
这是从2个不同表中选择列的一些代码。这些表有两个不同的列,名为date,用于存储日期输入。注意分配给li元素的date属性。我的问题来了:
$(document).on("pageinit", "#mypage", function(){
$("#records").listview({
autodividers: true,
autodividersSelector: function (li) {
var out = li.attr("date");
return out;
}
}).listview("refresh");
});
现在,因为日期来自两个不同的表,所以即使它们共享相同的日期,也会创建两个自动分割器。例如,如果table1日期列具有2014-01-02且table2日期列具有2014-01-02,则将为同一日期创建两个单独的分隔符,并且列表元素不会显示在一个下面。这个问题有解决方案吗?
注意:select语句都将结果附加到相同的列表视图,它们只是来自不同的表
编辑:我想我已经找到了问题所在,但我不确定如何解决它。基本上,当我附加那些列表元素时,Table1的东西优先,总是先行。例如,如果我有这样的列表:Table 1 item
Table 2 item
然后,如果我添加另一个表1项,它将执行此操作:
Table 1 item
Table 1 item
Table 2 item
将表2项目从其原始位置移位。无论如何要解决这个问题吗?