smarty模板:<select name="cbo_grade1">
                 {{foreach from=$arr item=h key=i}}                 <option value="{{$h[0]}}"  >{{$h[0]}}</option>
                 {{/foreach}}
                </select>
    <select name="select">PHP页面:if ($_POST['act']=="") {//进入页面 $SQL = "select distinct stud_id from stud_base";  
 $rs=$CONN->Execute($SQL) or die($SQL);
 $arr=$rs->GetArray(); $smarty->assign("arr",$arr);}if ($_POST['act']=="inquiry") {//查找按钮$y = $_POST['cbo_grade'];$smarty->assign("arr",$y);}
现在我这样做能在按钮后下拉框还是选择的值,可是它只出现第一个字符,后面的不出来,请问怎么修改呢?
或者有什么更好的方法?麻烦高手帮帮忙,谢谢。PHPselectSmarty

解决方案 »

  1.   

    <option value="{{$h[0]}}"{if {$h[0]} == $cbo_grade1} selected{/if}>{{$h[0]}}</option>
    $smarty->assign("cbo_grade1",$_POST['cbo_grade1']);
      

  2.   

    <option value="{{$h[0]}}"{if {$h[0]} == $cbo_grade1} selected{/if}>{{$h[0]}}</option>
    $smarty->assign("cbo_grade1",$_POST['cbo_grade1']);
    smarty貌似没有调到啊?我改成数组中的来源$smarty->assign("arr",$_POST['cbo_grade1']);
    按了查找按钮他就只显示第一个字。本来ID='GB1234'现在调回去就只出一个G了、、、
      

  3.   

    我突然想到为啥只有第一个出来了  {{foreach from=$arr item=h key=i}}                 <option value="{{$h[0]}}"  >{{$h[0]}}</option>
                     {{/foreach}}
                    </select>
    原因是   <option value="{{$h[0]}}"  $h[0]...就显示第1个。我改成<option value="{{$h}}"  就显示最后一个如何让他全部显示出来呢?请高手们帮解答下。谢谢了。
      

  4.   

    $h[i] 你的数组是什么格式? prinr_r($arr); 看看
      

  5.   

    $_POST['cbo_grade1']);
    我现在好像确定了是将这个值传过去的时候{{foreach from=$arr item=h key=i}}
    吧我的值拆分了。。   <option value="{{$h[0]}}"  >就显示第1个值。。如何将$_POST['cbo_grade1']);
    绑成一个不能拆分的值,或者怎么变下拉框呢?请高手们解答下,谢谢
      

  6.   

    我的数组有些全是数字有的有数字和字母,有点全是中午,我现在有3个下拉框,上面的那个 prinr_r($arr); 好像写错了吧 print_r($arr); 才对。。
      

  7.   

    $_POST['cbo_grade1']) 等于你提交的值,是单个值。你确定能显示所有 option ?
      

  8.   

    我现在连将我选择的值$_POST['cbo_grade1']在重新传回下拉框都做不到。。还显示全部,我现在就想我选择的下拉框的值单击了按钮也能不变,就是将POST的值在传回去,不让下拉框为空就行、。。
      

  9.   

    smarty 专门提供有 html_options 模板函数来解决列表控件的相关操作
    见 http://www.php100.com/manual/smarty/language.function.html.options.html