echo "<option value='1'".($numsel==2?'selected':'').">2</option>";

解决方案 »

  1.   

    这种写法很不怎么样,而且语法结构就是错语的
    首先三元的使用:三元可以对一个变量的true or false复制,但你这不是要复制,而是要selected,所以只能用if判断,其次你这个的写法即使是判断也是不行的,echo中怎么能包含逻辑判断?
    <?php
    $numsel=2;
    ?>
    <select name=sel>
      <option value=1 <? if($numsel==1) echo "selected";?> >1</option>
      <option value=2 <? if($numsel==2) echo "selected";?> >2</option>
      <option value=3 <? if($numsel==3) echo "selected";?> >3</option>
      <option value=4 <? if($numsel==4) echo "selected";?> >4</option>
      <option value=5 <? if($numsel==5) echo "selected";?> >5</option>
    </select>
    只用这样用潜入来写,或用模板
      

  2.   

    <select name=sel>
    <?php
    $numsel=2;
    for($i=1;$i<=5;$i++) {
      $sele = '';
      if($i == $numsel) $sele = ' selected';
      echo "<option value='$i'$sele>$i</option>";
    }
    ?>
    </select>