我有一個示例代碼來顯示/隱藏表格的列。我想將狀態(用戶選擇的列)存儲到cookie中,以便下次用戶或通過頁面刷新時保持狀態。我聽說有一個jQuery cookie插件,但不知道如何使用它。任何例子哪些jQuery的cookie,我可以在下面的代碼中使用將是有用的。如何在cookie中存儲表格show hide列
下面是示例代碼
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="js.cookie.js"></script>
</head>
<script>
$(document).ready(function() {
if (typeof Cookies.get('col1') !== 'undefined') {
$(".col1").hide(); // or show() depending what you want
}
if (typeof Cookies.get('col2') !== 'undefined') {
$(".col2").hide(); // or show() depending what you want
}
if (typeof Cookies.get('col3') !== 'undefined') {
$(".col3").hide(); // or show() depending what you want
}
$('input[type="checkbox"]').click(function() {
/* var index = $(this).attr('name').substr(3);
index--;
$('table tr').each(function() {
$('td:eq(' + index + ')',this).toggle();
Cookies.set($(this).attr('name'), true);
});
$('th.' + $(this).attr('name')).toggle();
Cookies.set($(this).attr('name'), true);
*/
$('th.' + $(this).attr('name')).toggle();
$('td.' + $(this).attr('name')).toggle();
Cookies.set($(this).attr('name'), true);
});
});
</script>
<body>
<table>
<thead>
<tr>
<th class="col1">Header 1</th>
<th class="col2">Header 2</th>
<th class="col3">Header 3</th>
</tr>
</thead>
<tr><td class="col1">Column1</td><td class="col2">Column2</td><td class="col3">Column3</td></tr>
<tr><td class="col1">Column1</td><td class="col2">Column2</td><td class="col3">Column3</td></tr>
<tr><td class="col1">Column1</td><td class="col2">Column2</td><td class="col3">Column3</td></tr>
<tr><td class="col1">Column1</td><td class="col2">Column2</td><td class="col3">Column3</td></tr>
</table>
<form>
<input type="checkbox" name="col1" checked="checked" /> Hide/Show Column 1 <br />
<input type="checkbox" name="col2" checked="checked" /> Hide/Show Column 2 <br />
<input type="checkbox" name="col3" checked="checked" /> Hide/Show Column 3 <br />
</form>
</body>
</html>
謝謝,這工作。如何避免閃爍..我認爲,當它加載時,它顯示,然後隱藏列。 –
你是否在普通頁面而不是在演示中試用它?如果有幫助,可以默認隱藏行並在頁面加載時進行相反操作。或者使用加載覆蓋...許多可視變通辦法可以使用 – charlietfl