讨论一下下拉列表的转向

讨论一下下拉列表的转向

今天在别家网页上看到下拉列表的转向,感觉很好,就上网查了下相关资料,

[复制到剪切板]
CODE:
<select name="select" onChange="window.open(this.options[this.selectedIndex].value,'_blank')" size="1">
<?
$don=dbcon();
$sql="select * from tbl_liu2";
$res=pg_query($sql);
echo 
$res;
while(
$row=pg_fetch_assoc($res)){
echo 
"<option value=\"display.php\">".$row['name']."</option>";
}
?>
</
select> ;

现在问题来了,虽然是跳转了网页,可是我想根据不同的数据$row['name'],在display.php显示不同的结果,是不是用SESSION去实现呢,怎么样实现呢,大家帮着想一想.
顺便说一句,莫耐的正则表达式学的真好呀...赞叹中....

url参数就行了
display.php?id=...

原来这样



[复制到剪切板]
CODE:
<?
echo 
"<option value=\"display.php?name=".$row['name']."\">".$row['name']."</option>";
?> ;


然后次页用$_GET['name']来进行数据库的操作,但是,出现一个小问题
那就是你选择框中的第一项在你开始选择时是无效的,也就是说,你选择第一项row['name']值不会转向,除非你选择别项后,再回来选择它,才能起作用,这个问题怎么解决呢,思考中.........

[ 本帖最后由 daxiaolao 于 2006-7-10 17:18 编辑 ]

因为你本身select就是选择第一项
你再点击第一项,onchange事件是无效的
毕业了。。。

是这样么,那如何解决呢?



[复制到剪切板]
CODE:
<select name="select" onChange="window.open(this.options[this.selectedIndex].value,'_blank')" size="1">
<
option value="" selected>请选择</option>
<?

$don=dbcon();

$sql="select * from tbl_liu2";

$res=pg_query($sql);

echo 
$res;

while(
$row=pg_fetch_assoc($res)){

echo 
"<option value=\"display.php\">".$row['name']."</option>";

}

?>

</
select> ;

毕业了。。。

哈哈哈,好,好,你真省事呀,哈哈哈,就这样吧,其实我是想页面初始时,显示第一项,当我们选择第一项时,它就会转项,因为我看的网页是显示页数,初始时,显示第一页,当你选择第一页时,它一样会转向第一页.
谢谢大家,我们每天在进步!!!!!

坏了

坏了,不对呀
当我选择其它项再回来选择  "请选择" 时,竟然跳到一个空页面,即about:blank,哈哈,心若水寒,你没想到会出现这个问题吧,我再考虑考虑为什么会这样.



[复制到剪切板]
CODE:
<select name="select" onChange="if(this.options[this.selectedIndex].value!='choice'){window.open(this.options[this.selectedIndex].value,'_blank');}" size="1">

<
option value="choice" selected>请选择</option>

<?



$don=dbcon();



$sql="select * from tbl_liu2";



$res=pg_query($sql);



echo 
$res;



while(
$row=pg_fetch_assoc($res)){



echo 
"<option value=\"display.php\">".$row['name']."</option>";



}



?>



</
select> ;

毕业了。。。

要把VALUE删除

将value="choice" 删除才能保证正常,原来如此,大家知道了吗
但是楼上的更厉害,直接让value!="choice",佩服,结贴
谢谢大家.

[ 本帖最后由 daxiaolao 于 2006-7-11 08:08 编辑 ]