Jquery 将数据绑定到phonegap中的可折叠集
我有一个可折叠的集合,我试图将查询结果作为listview追加到该集合。但我无法将结果绑定为listview 这就是我想做的Jquery 将数据绑定到phonegap中的可折叠集,jquery,sql,cordova,jquery-mobile,jquery-mobile-listview,Jquery,Sql,Cordova,Jquery Mobile,Jquery Mobile Listview,我有一个可折叠的集合,我试图将查询结果作为listview追加到该集合。但我无法将结果绑定为listview 这就是我想做的 function queryDB(tx) { tx.executeSql('SELECT * FROM FOLDER', [], querySuccess, errorCB); } function listdata(tx,results){ list= ("<ul data-role='listview' data-inset='false' i
function queryDB(tx) {
tx.executeSql('SELECT * FROM FOLDER', [], querySuccess, errorCB);
}
function listdata(tx,results){
list= ("<ul data-role='listview' data-inset='false' id='mylist' />");
count = results.rows.length;
$.each(results.rows,function(index){
var row = results.rows.item(index);
var li = '<li><a href="#">'+row['Date']+'</a></li>';
list = $(list).append(li);
});
}
function querySuccess(tx, results) {
$.each(results.rows,function(index){
var row = results.rows.item(index);
tx.executeSql('SELECT Date FROM ALLIGNMENT WHERE name="'+row[name]+'"', [], listdata, errorCB);
var div = '<div data-role="collapsible" data-inset="false" data-iconpos="right" data-collapsible="true" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d"><h3>'+
row["name"]+'<span class="ui-li-count ui-btn-up-c ui-btn-corner-all" data-iconpos="right">10</span></h3></div>';
$(list).appendTo(div).parent().appendTo('[data-role="content"]').end().trigger("create");
$('div[data-role="collapsible"]').collapsible({theme:'c',refresh:true});
$('[data-role="listview"]').listview().listview('refresh');
});
}
功能查询数据库(tx){
tx.executeSql('SELECT*FROM FOLDER',[],querySuccess,errorCB);
}
函数列表数据(发送、结果){
列表=(“
”;
计数=results.rows.length;
$.each(results.rows,函数(index){
变量行=结果行项目(索引);
变量li='';
列表=$(列表).append(li);
});
}
函数querySuccess(tx,results){
$.each(results.rows,函数(index){
变量行=结果行项目(索引);
tx.executeSql('SELECT Date FROM ALLIGNMENT WHERE name=“”+行[名称]+”,[],列表数据,errorCB);
var div=''+
行[“名称”]+“10”;
$(list).appendTo(div.parent().appendTo('[data role=“content”]').end().trigger(“create”);
$('div[data role=“collapsable”]')。可折叠({theme:'c',refresh:true});
$('[data role=“listview”]').listview().listview('refresh');
});
}
如果我试图只显示一个可折叠集,我就能够显示。但是当我试图显示listview时,什么都没有显示。我犯了什么错误
谢谢:)
新功能结构
function queryDB(tx) {
tx.executeSql('SELECT * FROM FOLDER', [], querySuccess, errorCB);
}
function listdata(tx,resultset){
list = $("<ul>").attr({'data-role':'listview','data-inset':'false','id':'mylist'});
count = resultset.rows.length;
$(list).remove();
$.each(resultset.rows,function(index){
var row = resultset.rows.item(index);
// alert(row['CreatedDate']);
var li = '<li><a href="#">'+row['Date']+'</a></li>';
list.append(li);
});
div = '<div data-role="collapsible" data-inset="false" data-iconpos="right" data-collapsible="true" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d"><h3>'+
row1["name"]+'<span class="ui-li-count ui-btn-up-c ui-btn-corner-all" data-iconpos="right">'+count+'</span></h3></div>';
}
list.appendTo(div).parent().appendTo('[data-role="content"]').end().trigger("create");
$('div[data-role="collapsible"]').collapsible({theme:'b',refresh:true});
$('[data-role="listview"]').listview().listview('refresh');
}
function querySuccess(tx, results) {
$.each(results.rows,function(index){
row1 = results.rows.item(index);
tx.executeSql('SELECT CreatedDate FROM ALLIGNMENT WHERE name="'+row1["name"]+'" ', [], listdata, errorCB);
});
}
功能查询数据库(tx){
tx.executeSql('SELECT*FROM FOLDER',[],querySuccess,errorCB);
}
函数列表数据(发送、结果集){
list=$(“”).attr({'data-role':'listview','data-inset':'false','id':'mylist'});
count=resultset.rows.length;
$(list.remove();
$.each(resultset.rows,函数(索引){
var row=resultset.rows.item(索引);
//警报(第['CreatedDate'行]);
变量li='';
列表。追加(li);
});
div=''+
第1行[“名称”]+“”+计数+“”;
}
list.appendTo(div.parent().appendTo('[data role=“content”]').end().trigger(“create”);
$('div[data role=“collapsable”]')。可折叠({theme:'b',refresh:true});
$('[data role=“listview”]').listview().listview('refresh');
}
函数查询成功(发送,结果){
$.each(results.rows,函数(index){
行1=结果.行.项(索引);
tx.executeSql('SELECT CreatedDate FROM ALLIGNMENT WHERE name=“”+row1[“name”]+'”,[],listdata,errorCB);
});
}
您的函数listdata中有一个错误
无法按以下方式创建jQuery对象:
list= ("<ul data-role='listview' data-inset='false' id='mylist' />");
var list = $("<ul>").attr({'data-role':'listview','data-inset':'false','id':'mylist'});
list = $(list).append(li);
list.append(li);
它不起作用,应该是这样的:
list= ("<ul data-role='listview' data-inset='false' id='mylist' />");
var list = $("<ul>").attr({'data-role':'listview','data-inset':'false','id':'mylist'});
list = $(list).append(li);
list.append(li);
编辑:
您将需要进行其他更改。执行此行时:
tx.executeSql('SELECT Date FROM ALLIGNMENT WHERE name="'+row[name]+'"', [], listdata, errorCB);
对函数listdata的调用是异步的。这意味着代码的其余部分不会等待此函数运行。基本上,您需要移动其中一些行:
var div = '<div data-role="collapsible" data-inset="false" data-iconpos="right" data-collapsible="true" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d"><h3>'+
row["name"]+'<span class="ui-li-count ui-btn-up-c ui-btn-corner-all" data-iconpos="right">10</span></h3></div>';
$(list).appendTo(div).parent().appendTo('[data-role="content"]').end().trigger("create");
$('div[data-role="collapsible"]').collapsible({theme:'c',refresh:true});
$('[data-role="listview"]').listview().listview('refresh');
var div=''+
行[“名称”]+“10”;
$(list).appendTo(div.parent().appendTo('[data role=“content”]').end().trigger(“create”);
$('div[data role=“collapsable”]')。可折叠({theme:'c',refresh:true});
$('[data role=“listview”]').listview().listview('refresh');
进入函数列表数据。当前列表为空,因为尝试附加列表对象时函数仍在运行。函数listdata中有错误 无法按以下方式创建jQuery对象:
list= ("<ul data-role='listview' data-inset='false' id='mylist' />");
var list = $("<ul>").attr({'data-role':'listview','data-inset':'false','id':'mylist'});
list = $(list).append(li);
list.append(li);
它不起作用,应该是这样的:
list= ("<ul data-role='listview' data-inset='false' id='mylist' />");
var list = $("<ul>").attr({'data-role':'listview','data-inset':'false','id':'mylist'});
list = $(list).append(li);
list.append(li);
编辑:
您将需要进行其他更改。执行此行时:
tx.executeSql('SELECT Date FROM ALLIGNMENT WHERE name="'+row[name]+'"', [], listdata, errorCB);
对函数listdata的调用是异步的。这意味着代码的其余部分不会等待此函数运行。基本上,您需要移动其中一些行:
var div = '<div data-role="collapsible" data-inset="false" data-iconpos="right" data-collapsible="true" data-collapsed-icon="arrow-r" data-expanded-icon="arrow-d"><h3>'+
row["name"]+'<span class="ui-li-count ui-btn-up-c ui-btn-corner-all" data-iconpos="right">10</span></h3></div>';
$(list).appendTo(div).parent().appendTo('[data-role="content"]').end().trigger("create");
$('div[data-role="collapsible"]').collapsible({theme:'c',refresh:true});
$('[data-role="listview"]').listview().listview('refresh');
var div=''+
行[“名称”]+“10”;
$(list).appendTo(div.parent().appendTo('[data role=“content”]').end().trigger(“create”);
$('div[data role=“collapsable”]')。可折叠({theme:'c',refresh:true});
$('[data role=“listview”]').listview().listview('refresh');
进入函数列表数据。当前列表为空,因为尝试附加列表对象时函数仍在运行。变量列表是全局变量吗?@Gajotres yes。。变量列表是全局变量变量变量列表是全局变量吗?@Gajotres yea。。变量列表是全局变量我试图打印count=results.rows.length的值;我得到0作为计数值,所以我认为控件没有进入$。每个listdata循环。这就是为什么你看不到listview,如果它是空的,它将不会显示。是的。。但是为什么它不接受查询结果呢?。我打电话给你,你知道吗?这取决于你,一切看起来都很好。首先检查您的查询。由于quotes count的值为零,gajotres。我修好了。但仍然没有显示数据。控制器正在循环中运行我试图打印count=results.rows.length的值;我得到0作为计数值,所以我认为控件没有进入$。每个listdata循环。这就是为什么你看不到listview,如果它是空的,它将不会显示。是的。。但是为什么它不接受查询结果呢?。我打电话给你,你知道吗?这取决于你,一切看起来都很好。首先检查您的查询。由于quotes count的值为零,gajotres。我修好了。但仍然没有显示数据。控制器正在循环中运行