-1

有人可以告诉我为什么选择的选项没有更改为我拥有的页面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>

我是新手,所以请帮忙。例如,如果用户选择“第 1 页”,它不会将他们带到第 1 页,它只是重新加载当前页面。

4

3 回答 3

1

Change your onchange method to

onchange="redirectToLink()"

And have this function in your JavaScript

function redirectToLink() {
window.location.href=window.location.href+this.form.pageid.options[this.form.pageid.selectedIndex].value;
}
于 2013-06-07T05:02:00.433 回答
0

This works for me.

$('#YourID').change(function() {
    window.location = $(this).val();
});

If you want menu to display the current page you are on you can write a conditional.

<option value="<?= theURL ?>" <?=($slug == 'pageName')?'selected="selected"':''?>>pageName</option>
于 2013-06-07T05:01:12.093 回答
0

这可以正常工作(jsFiddle Demo),但是您可以编写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']}";
}

?>
于 2013-06-07T05:09:44.233 回答