Jquery iOS PhoneGap:Listview动态加载数据后未刷新
我正在尝试从数据库生成listview。我正在从MySQL数据库检索,刷新listview后,CSS或设计没有更新 在phonegap中单击另一页的列表项时生成listview Javascript:Jquery iOS PhoneGap:Listview动态加载数据后未刷新,jquery,ios,cordova,Jquery,Ios,Cordova,我正在尝试从数据库生成listview。我正在从MySQL数据库检索,刷新listview后,CSS或设计没有更新 在phonegap中单击另一页的列表项时生成listview Javascript: $('#facilityListView li').live('click',function(){ var selectedFacility = $(this).attr('name'); var appendFacilityType = $('#facilitySpecific
$('#facilityListView li').live('click',function(){
var selectedFacility = $(this).attr('name');
var appendFacilityType = $('#facilitySpecificType');
var fContent = "";
$.ajax({
type:'GET',
data: {sFacility:selectedFacility},
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: '5000',
url: 'http://localhost/getSpecificFacilityCategory.php',
success:function(data){
$.each(data,function(f,fitem){
fContent += '<li><a href="#">' + fitem.FacilityName+ '</a></li>';
});
appendFacilityType.empty().append(fContent).listview("refresh");
},
error: function(){
alert("failed");
console.log(data);
}
});
});
$('facilityListView li').live('click',function()){
var selectedFacility=$(this.attr('name');
var appendFacilityType=$(“#facilitySpecificType”);
var fContent=“”;
$.ajax({
类型:'GET',
数据:{sFacility:selectedFacility},
数据类型:“jsonp”,
jsonp:'jsoncallback',
超时:“5000”,
网址:'http://localhost/getSpecificFacilityCategory.php',
成功:功能(数据){
$。每个(数据、函数(f、fitem){
fContent+='';
});
appendFacilityType.empty().append(fContent.listview(“刷新”);
},
错误:函数(){
警报(“失败”);
控制台日志(数据);
}
});
});
固定版本
$('#facilityListView li').on('click', 'li' ,function(){
var selectedFacility = $(this).attr('name');
var appendFacilityType = $('#facilitySpecificType');
var fContent = "";
$.ajax({
type:'GET',
data: {sFacility:selectedFacility},
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: '5000',
url: 'http://localhost/getSpecificFacilityCategory.php',
success:function(data){
$.each(data,function(f,fitem){
fContent += '<li><a href="#">' + fitem.FacilityName+ '</a></li>';
});
appendFacilityType.empty().append(fContent).listview("refresh");
},
error: function(){
alert("failed");
console.log(data);
}
});
});
$('facilityListView li')。在('click','li',function()上{
var selectedFacility=$(this.attr('name');
var appendFacilityType=$(“#facilitySpecificType”);
var fContent=“”;
$.ajax({
类型:'GET',
数据:{sFacility:selectedFacility},
数据类型:“jsonp”,
jsonp:'jsoncallback',
超时:“5000”,
网址:'http://localhost/getSpecificFacilityCategory.php',
成功:功能(数据){
$。每个(数据、函数(f、fitem){
fContent+='';
});
appendFacilityType.empty().append(fContent.listview(“刷新”);
},
错误:函数(){
警报(“失败”);
控制台日志(数据);
}
});
});
对于遇到相同问题的任何其他人,此问题是由.live
函数支持.on
函数引起的
正确的解决方案如下所示:
$('#facilityListView li').on('click', 'li' ,function(){
var selectedFacility = $(this).attr('name');
var appendFacilityType = $('#facilitySpecificType');
var fContent = "";
$.ajax({
type:'GET',
data: {sFacility:selectedFacility},
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: '5000',
url: 'http://localhost/getSpecificFacilityCategory.php',
success:function(data){
$.each(data,function(f,fitem){
fContent += '<li><a href="#">' + fitem.FacilityName+ '</a></li>';
});
appendFacilityType.empty().append(fContent).listview("refresh");
},
error: function(){
alert("failed");
console.log(data);
}
});
});
$('facilityListView li')。在('click','li',function()上{
var selectedFacility=$(this.attr('name');
var appendFacilityType=$(“#facilitySpecificType”);
var fContent=“”;
$.ajax({
类型:'GET',
数据:{sFacility:selectedFacility},
数据类型:“jsonp”,
jsonp:'jsoncallback',
超时:“5000”,
网址:'http://localhost/getSpecificFacilityCategory.php',
成功:功能(数据){
$。每个(数据、函数(f、fitem){
fContent+='';
});
appendFacilityType.empty().append(fContent.listview(“刷新”);
},
错误:函数(){
警报(“失败”);
控制台日志(数据);
}
});
});
查看上面的内容,有许多未回答的问题。首先,您是如何在iOS设备上运行PHP的?如果您正在为此使用另一个库,您可能还需要列出它。您是否验证了PHP页面实际上返回了所需的元素?当你这么做的时候,是ajax成功还是错误函数被击中了?@JamieStarke我实际上是在使用一个公共平台,即phonegap编程,所以我使用$连接到PHP。ajax函数是的,我非常熟悉phonegap,但是在你的例子中,您正在呼叫http://localhost/getSpecificFacilityCategory.php
当您在电话中时,会尝试联系电话本身。@JamieStarke嗨,对不起,我错了…它实际上连接到了我的在线托管web服务器OK,请注意用正确的地址更新您的代码,因为如果这是JavaScript,然后,localhost
将字面上表示您正在运行的设备,也就是您的iOS设备。