表单选择框具有错误的值

时间:2012-05-10 15:32:44

标签: php javascript html web

Hy那里

我的网站上有一些像这样的选择框:

<div class="registrationdate">
   <select class="filter registrationdate" name="rdat" id="regdate">
      <option value="">---</option>
      <option value="2012">at 2012</option>
      <option value="2011">at 2011</option>
      <option value="2010">at 2010</option>
   </select>
</div>

现在提交表格后我遇到了问题... 如果在提交后选择“在2011”,我只得到“2011”,价值,但我想要文本。 刷新后,选择框将文本更改为“2011”

在源代码中我可以看到问题,但我不知道如何解决它。 提交表格后,我登陆同一页面,上面的选择框的来源改变如下:

<div class="registrationdate">
   <select class="filter registrationdate" name="rdat" id="regdate">
      <option value="2012">2012</option>
      <option value="">---</option>
      <option value="2012">at 2012</option>
      <option value="2011">at 2011</option>
      <option value="2010">at 2010</option>
   </select>
</div>

所以这里可以帮助我吗?我希望我表达了我的理解。 thanx求助!

  
    
      
        

修改

      
    
  

好吧,我想我在同事的代码中找到了问题......但我遇到了另一个问题,就像他想要解决的问题一样。 这是实际的代码:

<form action='<?php echo $_SERVER['PHP_SELF']; ?>' name='filterform' method='get' class="filterform">
  <div class='registrationdate'>
    <strong><?php echo $GLOBALS['Lng']['filter_Erstzulassung']; ?>:</strong>
    <select id="regdate" name="rdat" class="filter registrationdate">
      <?php if (isset($_GET['rdat'])&&$_GET['rdat']!='') echo '<option value="'.$_GET['rdat'].'">'.$_GET['rdat'].'</option>'; ?>
      <option value="">---</option>
      <?php for ($i = date(Y); $i >= (date(Y)-7); $i-- ) {
          echo '<option value="'.$i.'">ab '.$i.'</option>';
      }?>
    </select>
  </div>
  <input type="submit" value="<?php echo $GLOBALS['Lng']['apply']; ?>" name="submit" id="submit" class="field">
</form>

问题是他希望在提交表单后再次显示输入的选项。在正常情况下,如果您发送表格,您将获得默认值。他试图用php部分“isset then echo”覆盖这个。 AFAIK PHP你无法获得选择字段的Text部分,或者? 他还能解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

如果您希望获得“2011年”,则应将选项的值设置为

<option value="at 2011">at 2011</option>

答案 1 :(得分:0)

据我了解,您希望保留value属性,但请将文字放在option标记内。

$("#regdate option[value='2011']").text()将返回“2011年”

http://jsfiddle.net/BtNNT/5/