【发布时间】:2014-02-16 18:19:37
【问题描述】:
我的代码有问题,我通过 ajax 调用调用 php,我有正确的答案(我通过一些警报测试了 json 答案),我的问题是当我将数据附加到我的列表视图时,即使使用“刷新”,我的列表中也没有数据。请您帮我找出错误。
他给了我这个错误: 未捕获的错误:无法在初始化之前调用 listview 上的方法;试图调用方法“刷新”
这里是 HTML 和 jQuery 的代码
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$.ajax({url: "SubCategory.php",
dataType: "json",
jsonpCallback: 'successCallback',
async: true,
success: function (result) {
ajax.parseJSONP(result);
},
error: function (request,error) {
alert('Network error has occurred please try again!');
}
});
var ajax = {
parseJSONP:function(result){
$.each(result, function(i, row) {
$('#select-subCategory').append('<option value="'+row.id+'">Annuncio: '+row.name+'</option>');
});
$('#select-subCategory').listview('refresh');
}
}
});
</script>
<body>
<form method="post" action="SubCategory.php">
<select id="select-subCategory" data-native-menu="false">
</select>
</form>
</body>
这是我的 php 文件
class SCategory
{
public $id;
public $name;
}
$SubCategories = array();
$SubCategories[0] = new SCategory;
$SubCategories[0]->id = 0;
$SubCategories[0]->name = 'first';
$SubCategories[1] = new SCategory;
$SubCategories[1]->id = 1;
$SubCategories[1]->name = 'second';
$SubCategories[2] = new SCategory;
$SubCategories[2]->id = 2;
$SubCategories[2]->name = 'third';
$SubCategories[3] = new SCategory;
$SubCategories[3]->id = 3;
$SubCategories[3]->name = 'fourth';
echo json_encode($SubCategories);
解决方案
从 HTML 中删除 'data-native-menu="false"',(也许是真的 默认),因此 HTML 中的选择变得简单
<select id="select-subCategory" ></select>
然后列表视图将刷新并 出现!! :)
【问题讨论】:
-
select不是listview,您应该使用.selectmenu("refresh")。 -
我这个周末修好了,也许你是对的@Omar,我找到的解决方案是从 HTML 中删除 'data-native-menu="false"',所以选择变成
标签: javascript php jquery html jquery-mobile