2012-05-10 84 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/