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>

ここで私を助けることができますか?私が理解できるように表現したことを願っています。助けてくれてありがとう!

編集

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では、選択フィールドのテキスト部分を取得できませんか? これを解決するために彼は他に何ができますか?

4

2 に答える 2

1

「at 2011」を取得したい場合は、オプションの値を次のように設定する必要があります。

<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 に答える