我有一个收据列表和一个对话框,单击收据时会打开一个包含详细信息的对话框:
function showReceipt( urlObj, options, receiptNumber) {
var pageSelector = urlObj.hash.replace( /\?.*$/, ""),
$page = $( pageSelector),
$header = $page.children( ":jqmData(role=header)" ),
$content = $page.children( ":jqmData(role=content)" ),
markup='';
markup += buildReceipt( receiptNumber, markup );
$header.find( "h1").html( receiptNumber);
$content.html( markup );
$page.page();
$content.find( ":jqmData(role=listview)" ).listview();
options.dataUrl = urlObj.href;
}
.html 文件
<div id="receipt" data-role="dialog">
<div data-role="header"><h1></h1></div>
<div data-role="content">
</div>
</div>
当我点击第一张收据时它工作正常,但是一旦我关闭对话框并点击另一张收据,就会弹出第一张收据的详细信息。我尝试了各种方法,例如:
$("#receipt").on("pagehide", function() {
$("#receipt").jqmRemoveData(':jqmData(role=content)');
});
或者
$("#receipt").on("pagehide", function() {
$("#receipt").empty();
});
乃至
$("#receipt").on("pagehide", function() {
$("#receipt").remove();
});
但似乎没有一个工作。我已经测试了他在调用时是否像收据号码这样的变量是正确的并且没有问题,正在传递正确的变量。