我使用的是jQuery mobile,我的页面是从index.php文件生成的。当我点击指向我的php文件的另一个选项的链接(index.php?action = other_action)时,它会加载到Ajax中,因此之前的内容仍保留在代码中。这会导致问题,因为没有任何东西是动态的,因为我使用特定的ID,所以它会破坏一切。当然禁用Ajax可以工作但我放弃了jQuery Mobile的所有优点。
我想解决方案是在<a>
上创建一个onclick函数,这会阻止页面保留以前的内容或删除旧页面。
那么有没有办法继续使用ajax,它不会破坏我的动态元素?
您可以在行动here中看到它,如果一切都很好,您可以过滤名称。然后单击左上方面板并单击某些内容,注意检查器中发生的情况...
感谢您的帮助。
答案 0 :(得分:0)
嗨,你错过了将选择器封入qoutes ......
您的jQuery
$(document).ready(function() {
//bind a listener to "click" event on links with class "markviewed"
$('a.ui-btn-present').click(function(event) {
$('ul.listlist').listview('refresh');
<强> $(#PAGEONE)卸下摆臂(); //&lt; - 选择器应在引号内
// get ids from clicked <a>
var id = $(this).attr('data-id');
$(this).attr({
"class" : "ui-btn ui-btn-icon-notext-ok ui-icon-check ui-btn-a"
});
答案 1 :(得分:0)
经过更多的研究后,我没有找到正确的方向:问题是列表视图必须刷新。所以我创建了一个新函数
<script>
function refreshlist() {
$('.listlist').listview("refresh");
$('#pageone').remove();
};
</script>
然后我将onclick= "refreshlist()"
添加到我的所有链接中,现在它可以正常工作。