我有以下 html 表
<table id="{64ED3A94-5833-4CC7-869F-CCE583B498BE}" class="ms-listviewtable"
width="100%" cellspacing="0" cellpadding="1" border="0"
xmlns:o="urn:schemas-microsoft-com:office:office" dir="none">
<tbody id="tbod23-1__" isloaded="true" style="display: none;"></tbody>
<tbody id="tbod23-2__" isloaded="true" style=""></tbody>
<tbody id="tbod23-3__" isloaded="true" style="display: none;"></tbody>
<tbody id="tbod23-4__" isloaded="true" style=""></tbody>
<tbody id="tbod23-5__" isloaded="true" style="display: none;"></tbody>
<tbody id="tbod23-6__" isloaded="true" style="display: none;"></tbody>
<tbody id="tbod23-7__" isloaded="true" style="display: none;"></tbody>
</table>
此表由共享点 xsltlistviewwebpart 自动生成(由于问题与 jquery+html 相关,因此未在共享点中发布)。
这是一个带有节点的树视图,当我展开一个折叠的节点时,它会改变样式
style="display: none;"
到
style=""
问题:webpart 不记得哪些节点被折叠了,所以在每次回发时,它都会将所有节点重置为展开状态。我需要做的是记住 jquery cookie 中的节点状态(展开或折叠),并在回发时检索它(因此,保持节点状态)。
到目前为止,我得到了:
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push("RememberClickedState");
function RememberClickedState()
{
var dv = $('.ms-listviewtable');
var items = [];
items = dv.find('tbody[id^="tbod"]');
$.cookie("itemListState", items);
alert(items[0]);
alert(items[1]);
}
</script>
谁能提供一些有关如何执行此操作的指示。我对事件本身有点茫然和困惑,在 page_load 上我应该保存 cookie,但也应该以某种方式检索它。
“items”数组也存储了所有 7 个元素,这很好,但是当我尝试 alert(items[0]); 我不确定。
谢谢