You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bootstrap页面用按钮无刷新切换条目排序顺序

实现客户端反转条目顺序并更新页面

要实现无需刷新页面即可切换条目排序顺序,核心是利用dot.js模板重新渲染更新后的数组,具体步骤如下:

1. 规范模板存放并提前编译

将dot.js模板放在专用的script标签中(避免页面加载时直接显示模板代码),并在页面初始化时编译为可复用的渲染函数:

<!-- 存放dot.js模板 -->
<script type="text/x-dot-template" id="entries-template">
  {{~ it.entries:entry:index}}
  <div class="card">
    <h2>{{=entry}}</h2>
  </div>
  {{~}}
</script>

<!-- 页面元素 -->
<button type="button" onClick="reverseEntries();">Reverse order of entries</button>
<div id="entries"></div>
// 页面加载完成后初始化
$(document).ready(function() {
  // 获取模板内容并编译为渲染函数
  const templateText = $('#entries-template').text();
  window.renderEntries = doT.template(templateText);
  
  // 初始渲染条目
  $('#entries').html(renderEntries({ entries: entries }));
});

2. 完善反转函数实现页面更新

反转数组后,调用编译好的渲染函数生成新的HTML,替换目标容器内容:

function reverseEntries(){
  // 反转原数组(若不想修改原数组,可改用const reversed = [...entries].reverse())
  entries.reverse();
  // 用更新后的数组重新渲染页面
  $('#entries').html(renderEntries({ entries: entries }));
}

可选:不修改原数组的实现

如果需要保留原数组的初始顺序,可基于数组副本进行反转:

function reverseEntries(){
  const reversedEntries = [...entries].reverse();
  $('#entries').html(renderEntries({ entries: reversedEntries }));
}

点击按钮后,数组顺序会立即反转,页面也会同步更新为新的条目顺序,全程在客户端完成,无需刷新页面。

内容的提问来源于stack exchange,提问作者dunxd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 14:54:26