2017-08-21 16 views
0

"-24hours"にデフォルト値を設定します。すべてのオプションは、foreachを使用して動的に生成されます。PHPのselect入力のデフォルト値を設定します

<select id="search3" name="date" onchange='this.form.submit();'> 
    <?php 
     $orderby_options3 = array(
      '-3day' => 'Last 3 days', 
      '-48hours' => '48 hours', 
      '-24hours' => '24 hours', 
     ); 
     foreach($orderby_options3 as $value3 => $label3) { 
      echo "<option ".selected($_GET['date'], $value3)." value='$value3'>$label3</option>"; 
     } 
    ?> 
</select> 

オプションの「選択」パラメータを追加する必要がありますが、私の場合は不可能です。

+2

我々は機能を "選択" を参照することができますしてください – IsThisJavascript

+0

私は1つも持っていません – user1708580

+1

この行は何についてですか? 'selected($ _GET ['date']、$ value3)' – IsThisJavascript

答えて

0

はこれを試してみてください。

<select id="search3" name="date" onchange='this.form.submit();'> 
    <?php 
     $orderby_options3 = array(
      '-3day' => 'Last 3 days', 
      '-48hours' => '48 hours', 
      '-24hours' => '24 hours', 
     ); 
     foreach($orderby_options3 as $value3 => $label3) { 
      $selected = in_array($value3, [$_GET['date'] ?? null, '-24hours']) ? 'selected' : ''; 
      echo "<option $selected value='$value3'>$label3</option>"; 
     } 
    ?> 
</select> 

click to see the demo

+1

あなたはすでにPHPタグに入っています。 – IsThisJavascript

+0

@ WillParky93私は私の答えを更新しました、ありがとう – yoeunes

0

あなたは常に-24hoursを選択すると、このページを編集ページとして使用されることはありませんしたい場合は、あなたがこのような何かを行うことができます。

<select id="search3" name="date" onchange='this.form.submit();'> 
<?php 
    $orderby_options3 = array(
     '-3day' => 'Last 3 days', 
     '-48hours' => '48 hours', 
     '-24hours' => '24 hours', 
    ); 

    foreach($orderby_options3 as $value3 => $label3) { 
     $select = ($value3 == '-24hours') ? "selected='selected'":""; // see this line 
     echo "<option ".selected($_GET['date'], $value3)." value='$value3' $select>$label3</option>"; 
    } 
?> 

関連する問題