allCookies列出了我的浏览器Cookie列表。 我想用这个函数delCookie()删除Cookies,但它只删除第一个Cookie,而不删除其他Cookie。 我怎么能更新cookie?
<input type="button" value="DElete" onclick="delCookie()">
<input type="button" value="Update" onclick="modCookie()">
<select multiple id="allCookies" size="5">
<!-- Cookies content-->
</select><br>
function delCookie() {
if (confirm('Are u sure?')) {
var e = document.getElementById("allCookies");
var strUser = e.options[e.selectedIndex].value;
document.cookie = encodeURIComponent(strUser) + "=deleted; expires=" + new Date(0).toUTCString();
}
}
答案 0 :(得分:1)
它只删除第一个Cookie,而不删除其他Cookie。
selectedIndex
元素的<select>
属性仅返回第一个所选选项的索引。要在multiple
选择中检查所有这些选项,您需要迭代选项集合:
var os = document.getElementById("allCookies").options;
for (var i=0; i<os.length; i++) {
if (os[i].selected) {
var strUser = os[i].value;
…
}
}
我怎么能更新cookie?
只需覆盖cookie,即使用与创建cookie时相同的方法。