有人能告诉我为什么当选择的选项不改变到我有它的页面id ?不管怎样,它只是重新加载到主页。
<form>
<select name="pageid" onchange="window.location.href=this.form.pageid.options[this.form.pageid.selectedIndex].value">
<option id="">Choose a page</option>
<option value="?id=page19">Page 19</option>
<option value="?id=page1">Page 1</option>
<option value="?id=page9">Page 9</option>
</select>
</form>
我是新手,所以请帮助。例如,如果用户选择"Page 1",它不会把他们带到第1页,而是重新加载当前页面。
将onchange
方法更改为
onchange="redirectToLink()"
在JavaScript
中加入这个函数function redirectToLink() {
window.location.href=window.location.href+this.form.pageid.options[this.form.pageid.selectedIndex].value;
}
这对我很有用。
$('#YourID').change(function() {
window.location = $(this).val();
});
如果你想让菜单显示当前页面,你可以写一个条件。
<option value="<?= theURL ?>" <?=($slug == 'pageName')?'selected="selected"':''?>>pageName</option>
这可以正常工作(jsFiddle演示),但是您可以编写更简单的onchange
:
<select name="pageid" onchange="window.location.href=this.value;">
你的页面是这样的:
// ?id=page1
// ?id=page2
// ?id=page3
这些实际上是当前页面,带有QueryString。所以你不会看到任何改变,直到你控制QueryString在您的服务器端语言中:
<?php
if (isset($_GET['id'])) {
echo "On the page {$_GET['id']}";
}
?>