我有以下代码用于创建简单的下拉导航。但是,这取决于是否选择了值并且GO按钮将用户带到链接。我想放一个if / else语句,如果没有选择值,GO按钮将默认为第一个链接。
<script>
function sendURL(url,obj) {
document.getElementById("urlhidden").value = url;
jQuery('.current').html(obj.parentNode.innerHTML);
}
function submitURL() {
document.location = document.getElementById("urlhidden").value;
}
</script>
<form name="navigate" class="select">
<ul>
<input type="hidden" name="urlhidden" id="urlhidden" />
<li>
<a href="javascript:void(0);" onclick="javascript:sendURL('<?php $link = $GLOBALS['base_url'] . '/node/';echo $link?>4',this)">link1</a>
</li>
<li>
<a href="javascript:void(0);" onclick="javascript:sendURL('<?php $link = $GLOBALS['base_url'] . '/node/';echo $link?>5',this)">link2</a>
</li>
</ul>
<div class="btnHolderInline">
<input type="button" value="Go" onclick="javascript:submitURL();"/>
</div>
</form>
答案 0 :(得分:0)
对我来说,这看起来并不那么“简单”。 “传统”下拉导航有什么问题?
<form action="javascript:location.href=this.page.options[this.page.selectedIndex].value">
<select name="page">
<option value="somepage.php">link1</option>
<option value="otherpage.php">link2</option>
</select>
<input type="submit" value="Go" />
</form>
除此之外,原始代码的问题在于您似乎没有任何.current
元素。你真正想要的是:
function submitURL() {
$(this).parent("form").find("a:eq(0)").click();
}