0

我有一个结果表,允许用户在结帐阶段从他们选择的书籍列表中删除图书馆书籍。我已经实现了一个简单的 AJAX 技术,因此当用户单击列表中一本书旁边的删除按钮时,它会从页面中删除它而无需重新加载页面 - 这一切都很好。

我现在还需要更新页面上的另一个元素,该元素处理显示他们拥有多少选定书籍的分页。在列表的顶部有这个分页摘要:

<div class="recordlist_nav">Displaying records 1 - 10 of 10 records selected</div>

除了从列表中删除这本书之外,我还需要更新它,例如,如果他们删除了一本书,它应该更改为:

<div class="recordlist_nav">Displaying records 1 - 9 of 9 records selected</div>

我可以生成更新的字符串,但不确定如何让我的 AJAX 脚本同时更新多个元素。这是我的脚本:

<script type="text/javascript">
function deleteRecord(recid,articleID) {
   // Allocate an XMLHttpRequest object
   if (window.XMLHttpRequest) {
      // IE7+, Firefox, Chrome, Opera, Safari
      var xmlhttp=new XMLHttpRequest();
   } else {
      // IE6, IE5
      var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   // Set up the readyState change event handler
   xmlhttp.onreadystatechange = function() {
      if ((this.readyState == 4) && (this.status == 200)) {
         document.getElementById("selectedRecord" + recid).innerHTML=xmlhttp.responseText;
      }
   }
   // Open an asynchronous POST connection and send request
   xmlhttp.open("POST", "delete_record.php", true);
   xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
   xmlhttp.send("recid="+recid+"&articleID="+articleID);
   return false;  // Do not follow hyperlink
}
</script>

目前 delete_record.php 在删除所选记录时只是回显一个空字符串:

$result = '';
echo $result ;

我将更新的分页标题存储在 $navigation 变量中。我现在需要将此传递回脚本,并让该脚本将 的内容替换为 $navigation 变量的内容。

4

1 回答 1

-1

+1 给尼克。为此使用 jQuery,它会让你的生活变得更简单。

<script><!-- type="text/javascript" not needed -->
function deleteRecord(recid,articleID,thisPage,allPages) {
    $.ajax({
        url: 'delete_record.php',
        type: 'POST',
        data: JSON.stringify({recid:recid,articleID:articleID}),
        success: function () {
            // It worked
            $(".recordlist_nav").text("Displaying records 1 - "+thisPage+" of "+allPages+" records selected");
        }
    });
    return false;
}
</script>
于 2013-08-26T03:42:35.127 回答