作者shadowjohn (Somebody Help Me)
看板PHP
标题Re: [请益] 关於将资料显示在同一页
时间Sat Jul 2 05:22:04 2011
平常的写法大概是这样~
<?
//假设得到 post 传值的结果~
$_POST['s1']; // maybe 2.1
?>
<!-- 以下是你 html 的表单 -->
<select id="s1" name="s1">
<option value="">Default</option>
<option value="1.1">1.1</option>
<option value="2.1">2.1</option>
<option value="3.3">三点三</option>
</select>
<!-- 修改的想法大概是这样 (方法一)-->
<select id="s1" name="s1">
<option value="">Default</option>
<option value="1.1" <?=($_POST['s1']=='1.1')?' selected ':'';?>>1.1</option>
<option value="2.1" <?=($_POST['s1']=='2.1')?' selected ':'';?>>2.1</option>
<option value="3.3" <?=($_POST['s1']=='3.3')?' selected ':'';?>>三点三</option>
</select>
也就是说, option value 的值,跟你的 $_POST 传值一样的时候,将原本的
表单加入 预选的 selected
<select id="s1" name="s1">
<option value="">Default</option>
<option value="1.1">1.1</option>
<option value="2.1" selected >2.1</option>
<option value="3.3">三点三</option>
</select>
<!-- 修改的方法 (方法二) -->
当然 <option value…> 这些通常都是用 array 跟回圈在产生
<?
$mlist=array(""=>"Default","1.1"=>"1.1","2.1"=>"2.1","3.3"=>"三点三");
?>
<select id="s1" name="s1">
<?
foreach($mlist as $k=>$v)
{
?>
<option value="<?=$k;?>"
<?=($_POST['s1']==$k)?" selected ":"";?>
>
<?=$v;?>
</option>
<?
}
?>
</select>
<!-- 修改的方法(方法三) -->
第三个方法我自已还满喜欢这麽用的
直接用 javascript 去设定值~
如果想把下面的 scripts 放到 <head></head> 里,
那你要记得 加上 window.onload 的东东 或是用jquery的
$(document).ready(function(){ ... });
<select id="s1" name="s1">
<option value="">Default</option>
<option value="1.1">1.1</option>
<option value="2.1">2.1</option>
<option value="3.3">三点三</option>
</select>
<script language="javascript">
document.getElementById('s1').value="<?=$_POST['s1'];?>";
</script>
--
3WA训练家的工作室
宗旨:诸葛单中,谢谢
个人布弱格 网址:
http://3wa.tw
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.240.117.97
1F:推 stator:谢谢前辈的指导,您的BLOG我也加入了最爱,是我修行好地方 07/02 09:02