你这个隐藏层就为了 记录数据?如果是的话var globalSelect=[] //保存已经选择的酒店ID function add(id){添加一个酒店,要判断是否已经选择了} function saveSelect(){保存选择的酒店ID数组 根据策略实现} function getSelect(){恢复以前选择的酒店ID数组 根据策略实现}接口和结构都有了 去实现吧
var hotelid = getCookieArray('hotelid'); var hotelname = getCookieArray('hotelname'); 这两个获取不到值 你那里可以吗
这个么? function delCookie(n) { var hotelid = getCookieArray('hotelid'); var hotelname = getCookieArray('hotelname'); deleteAllCookie('hotelid'); deleteAllCookie('hotelname'); for (var i=0;i<hotelid.length-1;i++) { if (i != n) { setCookie("hotelid",hotelid[i]); setCookie("hotelname",hotelname[i]); } } show(); }
function cl() { document.getElementById("contrast_flayer").style.display="none"; document.getElementById("contrast").style.display="block"; } function hidden() { document.getElementById("contrast_flayer").style.display="block"; document.getElementById("contrast").style.display="none"; } function clearAllCookies() { var LSTR_Cookie = window.document.cookie; var LREG_Cookie = new RegExp().compile("([^;]+=)[^;]+","g"); var LARY_cookie = null;
function cl() { document.getElementById("contrast_flayer").style.display="none"; document.getElementById("contrast").style.display="block"; } function hidden() { document.getElementById("contrast_flayer").style.display="block"; document.getElementById("contrast").style.display="none"; } function clearAllCookies() { var LSTR_Cookie = window.document.cookie; var LREG_Cookie = new RegExp().compile("([^;]+=)[^;]+","g"); var LARY_cookie = null;
为什么要用隐藏层?
用cookie放到了隐藏层中,合到一起说更迷糊为什么不用一个数组,把选中的酒店压入, 然后..
建议保存的时候以数组的形式,类似1,2,3这样
1.当选择三家酒店,在次点击加入对比时 ,提示用户“您只能选择三家酒店进行比”。
点击加入对比的时候先判断逗号的数量是否超过两个。2.当隐藏层中已经添加了同一个信息时,在次添加将提示“信息已加入,请重新选择”
遍历原先的数组,例如1,2,3,判断新传进去的ID是否与其中的有相等。如果有相等的,就弹出提示,RETURN FALSE;
function add(id){添加一个酒店,要判断是否已经选择了}
function saveSelect(){保存选择的酒店ID数组 根据策略实现}
function getSelect(){恢复以前选择的酒店ID数组 根据策略实现}接口和结构都有了 去实现吧
建议你把这段话用div包起来 , 然后加入的时候要给div一个id 然后对比的时候就拿ID去对比就好了
获取隐藏层中所有的id是这个么document.cookie
{
if(document.getElementById("dvCompare").getElementsByTagName("input").length >= 3 )
{
alert("只能加入三个对比");
}
else if(document.cookie == hotelid )
{
alert ("已有相同的酒店");
}
else{
setCookie("hotelid",hotelid);
setCookie("hotelname",hotelname);
show();
}
}
var hotelname = getCookieArray('hotelname');
这两个获取不到值 你那里可以吗
这个么?
function delCookie(n)
{
var hotelid = getCookieArray('hotelid');
var hotelname = getCookieArray('hotelname');
deleteAllCookie('hotelid');
deleteAllCookie('hotelname');
for (var i=0;i<hotelid.length-1;i++)
{
if (i != n)
{
setCookie("hotelid",hotelid[i]);
setCookie("hotelname",hotelname[i]);
}
}
show();
}
<script language="javascript">
function addcookie(hotelid,hotelname)
{
if(document.getElementById("dvCompare").getElementsByTagName("input").length >= 3 )
{
alert("只能加入三个对比");
}else{
var add_hotles = document.getElementById("dvCompare").getElementsByTagName("input");
for( i=0 ; i<add_hotles.length ; i++ )
{
if(add_hotles[i].id == "hotelid_"+hotelid)
{
alert("重复添加");
return false;
}
}
setCookie("hotelid",hotelid);
setCookie("hotelname",hotelname);
show();
} }function setCookie(name,value)//两个参数,一个是cookie的名子,一个是值
{
document.cookie = name + "="+ getCookie(name) + escape (value) + ",";
}function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return '';
}function deleteAllCookie(name)
{
var date = new Date();
date.setTime(date.getTime() - 10000); //删除一个cookie,就是将其过期时间设定为一个过去的时间
document.cookie = name + "=删除" + "; expires=" + date.toUTCString();
}function delCookie(n)
{
var hotelid = getCookieArray('hotelid');
var hotelname = getCookieArray('hotelname');
deleteAllCookie('hotelid');
deleteAllCookie('hotelname');
for (var i=0;i<hotelid.length-1;i++)
{
if (i != n)
{
setCookie("hotelid",hotelid[i]);
setCookie("hotelname",hotelname[i]);
}
}
show();
}function getCookieArray(name)
{
return getCookie(name).split(",");
}function show()
{
var content = '';
var hotelid = getCookieArray('hotelid');
var hotelname = getCookieArray('hotelname');
for (var i=0;i<hotelid.length-1;i++)
{
content += '<input type="checkbox" id="hotelid_"'+hotelid+'" value="'+i+'">' + hotelname[i] + '  <a href="#" onclick=delCookie("'+i+'")>删除</a><br>';
}
document.getElementById("dvCompare").innerHTML=content;
document.getElementById("contrast_flayer").style.display="block";
}
function cl()
{
document.getElementById("contrast_flayer").style.display="none";
document.getElementById("contrast").style.display="block";
}
function hidden()
{
document.getElementById("contrast_flayer").style.display="block";
document.getElementById("contrast").style.display="none";
} function clearAllCookies()
{
var LSTR_Cookie = window.document.cookie;
var LREG_Cookie = new RegExp().compile("([^;]+=)[^;]+","g");
var LARY_cookie = null;
while(LARY_cookie = LREG_Cookie.exec(LSTR_Cookie))
{
window.document.cookie = LARY_cookie[1]
}
show();
} </script>
<link rel="stylesheet" rev="stylesheet" href="http://www.elongstatic.com/common/css/elong_common.css?201101101435" type="text/css" media="all" />
<link rel="stylesheet" rev="stylesheet" href="http://www.elongstatic.com/hotels/css/Domestic_hotels201005.css?201101101435" type="text/css" media="all" />
<body>
<div id="shuliang" >
<li><a href="#?">
<span class="Add">北京西苑饭店</span></a>
<input type="button" mth="showcompare" title="对比" value="加入对比" onclick="addcookie('40','北京西苑饭店')">
</li>
<li><a href="#?">
<span class="Add">北京艺海商务酒店</span></a>
<input type="button" value="加入对比" mth="showcompare" onclick="addcookie('41','北京艺海商务酒店')">
</li>
<li><a href="#?" >
<span class="Add">北京金龙潭大饭店</span></a>
<input type="button" value="加入对比" mth="showcompare" onclick="addcookie('42','北京金龙潭大饭店')">
</li>
<li><a href="#?" >
<span class="Add">北京美泉宫饭店</span></a>
<input type="button" value="加入对比" mth="showcompare" onclick="addcookie('43','北京美泉宫饭店')">
</li>
<li><a href="#?">
<span class="Add">富驿时尚酒店(北京中关村店)</span></a>
<input type="button" value="加入对比" mth="showcompare" onclick="addcookie('44','富驿时尚酒店(北京中关村店)')">
</li>
</div>
<div style="display:none; " id="contrast" onClick="hidden() " > aaaaaaaaa</div><div id="contrast_flayer" style="display:none;">
<h2>
<span class="right pr5 pt5">
<a id="compareClose" href="#?" class="com_close" ></a>
</span>开始对比
</h2>
<div class="box" id="dvCompare" >
<ul>
</ul>
</div>
<p class="box">
<input type="button" value="开始对比" onmouseout="this.className='com_search75'" onmouseup="this.className='com_search75'" onmousedown="this.className='com_search75_an'" class="com_search75">
<a href="#?" onclick="clearAllCookies()" title="清空">清空</a>
</p>
<p class="box"><a href="#" onclick="cl()">收起</a></p>
</div>
</body>
</html>
{
var content = '';
var hotelid = getCookieArray('hotelid');
var hotelname = getCookieArray('hotelname');
for (var i=0;i<hotelid.length-1;i++)
{
content += '<input type="checkbox" id="hotelid_"'+hotelid+'" value="'+i+'">' + hotelname[i] + '  <a href="#" onclick=delCookie("'+i+'")>删除</a><br>';
}
document.getElementById("dvCompare").innerHTML=content;
document.getElementById("contrast_flayer").style.display="block";
}
function addcookie(hotelid,hotelname)
{
if(document.getElementById("dvCompare").getElementsByTagName("input").length >= 3 )
{
alert("只能加入三个对比");
}else{
var add_hotles = document.getElementById("dvCompare").getElementsByTagName("input");
for( i=0 ; i<add_hotles.length ; i++ )
{
if(add_hotles[i].id == "hotelid_"+hotelid)
{
alert("重复添加");
return false;
}
}
setCookie("hotelid",hotelid);
setCookie("hotelname",hotelname);
show();
} }function setCookie(name,value)//两个参数,一个是cookie的名子,一个是值
{
document.cookie = name + "="+ getCookie(name) + escape (value) + ",";
}function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return '';
}function deleteAllCookie(name)
{
var date = new Date();
date.setTime(date.getTime() - 10000); //删除一个cookie,就是将其过期时间设定为一个过去的时间
document.cookie = name + "=删除" + "; expires=" + date.toUTCString();
}function delCookie(n)
{
var hotelid = getCookieArray('hotelid');
var hotelname = getCookieArray('hotelname');
deleteAllCookie('hotelid');
deleteAllCookie('hotelname');
for (var i=0;i<hotelid.length-1;i++)
{
if (i != n)
{
setCookie("hotelid",hotelid[i]);
setCookie("hotelname",hotelname[i]);
}
}
show();
}function getCookieArray(name)
{
return getCookie(name).split(",");
}function show()
{
var content = '';
var hotelid = getCookieArray('hotelid');
var hotelname = getCookieArray('hotelname');
for (var i=0;i<hotelid.length-1;i++)
{
content += '<input type="checkbox" id="hotelid_'+hotelid[i]+'" value="'+i+'">' + hotelname[i] + '  <a href="#" onclick=delCookie("'+i+'")>删除</a><br>';
}
document.getElementById("dvCompare").innerHTML=content;
document.getElementById("contrast_flayer").style.display="block";
}
function cl()
{
document.getElementById("contrast_flayer").style.display="none";
document.getElementById("contrast").style.display="block";
}
function hidden()
{
document.getElementById("contrast_flayer").style.display="block";
document.getElementById("contrast").style.display="none";
} function clearAllCookies()
{
var LSTR_Cookie = window.document.cookie;
var LREG_Cookie = new RegExp().compile("([^;]+=)[^;]+","g");
var LARY_cookie = null;
while(LARY_cookie = LREG_Cookie.exec(LSTR_Cookie))
{
window.document.cookie = LARY_cookie[1]
}
show();
} </script>
<link rel="stylesheet" rev="stylesheet" href="http://www.elongstatic.com/common/css/elong_common.css?201101101435" type="text/css" media="all" />
<link rel="stylesheet" rev="stylesheet" href="http://www.elongstatic.com/hotels/css/Domestic_hotels201005.css?201101101435" type="text/css" media="all" />
<body>
<div id="shuliang" >
<li><a href="#?">
<span class="Add">北京西苑饭店</span></a>
<input type="button" mth="showcompare" title="对比" value="加入对比" onclick="addcookie('40','北京西苑饭店')">
</li>
<li><a href="#?">
<span class="Add">北京艺海商务酒店</span></a>
<input type="button" value="加入对比" mth="showcompare" onclick="addcookie('41','北京艺海商务酒店')">
</li>
<li><a href="#?" >
<span class="Add">北京金龙潭大饭店</span></a>
<input type="button" value="加入对比" mth="showcompare" onclick="addcookie('42','北京金龙潭大饭店')">
</li>
<li><a href="#?" >
<span class="Add">北京美泉宫饭店</span></a>
<input type="button" value="加入对比" mth="showcompare" onclick="addcookie('43','北京美泉宫饭店')">
</li>
<li><a href="#?">
<span class="Add">富驿时尚酒店(北京中关村店)</span></a>
<input type="button" value="加入对比" mth="showcompare" onclick="addcookie('44','富驿时尚酒店(北京中关村店)')">
</li>
</div>
<div style="display:none; " id="contrast" onClick="hidden() " > aaaaaaaaa</div><div id="contrast_flayer" style="display:none;">
<h2>
<span class="right pr5 pt5">
<a id="compareClose" href="#?" class="com_close" ></a>
</span>开始对比
</h2>
<div class="box" id="dvCompare" >
<ul>
</ul>
</div>
<p class="box">
<input type="button" value="开始对比" onmouseout="this.className='com_search75'" onmouseup="this.className='com_search75'" onmousedown="this.className='com_search75_an'" class="com_search75">
<a href="#?" onclick="clearAllCookies()" title="清空">清空</a>
</p>
<p class="box"><a href="#" onclick="cl()">收起</a></p>
</div>
</body>
</html>