2012-05-10 30 views
0

海兰有形式选择框与错误的值

我有我的网站上一些selecboxes像这样的:

<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求助!

编辑

OK,我想我已经找到了我的同事的代码的问题...但我遇到了另外一个问题,和他想解决的一样。 这是实际的代码:

<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你不能得到选择字段的文本部分,或者? 他还有什么可以解决这个问题的?

+0

你是什么意思刷新选择框的意思! –

+0

看起来像什么被选中成为一个新的选择,是正确的? – gunnx

回答

1

如果你想获得“2011”,你应该设置选项的值

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

这是他的意思吗? –

+0

我不太清楚你问什么......据我了解,目前的情况是,人得到说2011年的价值,而是他想“在2011年” – Darvex

+0

其实我无法理解他的意思是刷新选择框?! –

0

据我了解,你要保持value属性,但进去option标签的文本。

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

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