0

在那里

我的网站上有一些选择框,例如:

<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>

现在我在提交表单后遇到了一个问题......如果在提交后选择了“at 2011”,我只会得到“2011”这个值,但我想要文本。刷新选择框后将文本更改为“at 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>

那么这里可以帮助我吗?我希望我表达的意思是可以理解的。谢谢你的帮助!

编辑

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

<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您无法获取选择字段的文本部分,或者?他还有什么办法解决这个问题?

4

2 回答 2

1

If you wish to get "at 2011" you should set value of the option to

<option value="at 2011">at 2011</option>
于 2012-05-10T15:35:28.427 回答
0

据我了解,您想保留value属性,但要获取option标签内的文本。

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

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

于 2012-05-10T16:32:37.913 回答