我不知道我理解你的问题很好。
我认为你所说的链接:
<a href="" id="link" name="link" onClick="yesnolist(1)">Free Chat</a>
现在,有人点击时,你想让它创建一个下拉列表?我不确定您的意思是在锚点元素旁边的下拉列表,还是使用下拉列表替换锚点元素。
我会建议,在任何时候,使用jQuery JavaScript的,但因为它似乎你不使用它:
<a href="#yesno" id="link" name="link">Free Chat</a>
<select id="yesno_id" name="yesno" style="display:none;">
<option value="1">Yes</option>
<option value="2">No</option>
</select>
我们不会显示下拉然而,即使它已经存在。现在我们将一个监听器添加到#link和#yesno_id中(请注意,下面的代码要么位于标签之前,要么应放置在主体监听器中)。
<script type="text/javascript">
document.getElementById('link').addEventListener('click', function() {
var yesno = document.getElementById('yesno_id');
yesno.style.display = 'block';
yesno.addEventListener('change', function() {
if (this.value === '1') {
window.location.href = "http://.........";
}
else {
this.style.display = 'none';
}
}, true);
}, true);
</script>
我没有测试它在所有,将最有可能有错误(我甚至没有把它写在一个编辑器),但它应该给你的总体思路。
这里我们使用不显眼的javascript:我们不会在HTML上添加对JavaScript的任何引用。我们只需要id和类,就像任何没有JS的HTML一样。然后,我们使用JavaScript访问HTML元素,除此之外,我们绑定click和change事件处理程序(对应于每个元素)。
如果用户点击链接,然后选择否,它将隐藏下拉菜单,如果它显示为yes,它将重定向到您所说的网址。实际上在锚点的href上有链接并取消事件传播会很好。然后从yesno_id事件处理程序中获取href并重定向到该处理程序。这样,如果JS被禁用,它会直接带你到页面(尽管它不会“确认”)。
谢谢我哇nt在用户点击linnk然后从下拉列表中显示免费聊天链接旁边的下拉列表,如果用户选择YES,那么它会转到“http:// ......”希望这是有道理的? 谢谢 – 2011-05-03 09:48:30
你有没有试过这段代码?我只是试了一下,它的工作。请检查它是否符合你的要求。最有可能的是,如果全部了解,你只需要改变CSS。 – Mamsaac 2011-05-03 09:51:41