我想保留复选框的选中值。我有以下代码。但它没有用。任何人都可以纠正吗?我有提交按钮,重新加载页面onClick。
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="../js/cookie.jquery.js"></script>
<script>
$(document).ready(function(){
$("input.box").each(function() {
var mycookie = $.cookie($(this).attr('name'));
if (mycookie && mycookie === "true") {
$(this).prop('checked', mycookie);
}
});
$("input.box").change(function() {
$.cookie($(this).attr("name"), $(this).prop('checked'), {
path: '/',
expires: 365
});
});
});
</script>
</head>
<body>
<input class="box" type="checkbox" name="1" value = " One "> One<br/>
<input class="box" type="checkbox" name="2" value = " Two "> Two<br/>
<input class="box" type="checkbox" name="3" value = " Three "> Three<br/>
<input class="box" type="checkbox" name="4" value = " Four "> Four<br/>
<input class="box" type="checkbox" name="5" value = " Five "> Five <br/>
<input class="box" type="checkbox" name="6" value = " Six "> Six<br/>
<input type="Submit" value = " Submit " onClick = " javascript:window.location.reload(); ">
</body>
</html>
在控制台中获取以下内容
GET localhost:8080/js/… 404 (/solarether/js/cookie.jquery.js) Remember.jsp:6
Uncaught TypeError: Object function (e,t){return new x.fn.init(e,t,r)} has no method 'cookie'
答案 0 :(得分:0)
该脚本在本地系统中运行良好。您可能遇到的问题是由于以下原因:
jquery.cookie.js
,这是最近的行为。解决方案:
http://
开头。jquery.cookie.js
重命名为其他名称,并将其包含在本地!答案 1 :(得分:0)
你的问题是:
if (mycookie && mycookie === "true") {
$(this).prop('checked', mycookie);
}
如果您更改它以便显示$(this).prop('checked', true)
,它应该可以正常工作。您将mycookie
与字符串匹配,但prop()
函数需要布尔值。