web-dev-qa-db-ja.com

選択した値をドロップダウンメニューに表示する

私はマルチサイトの設定をしていて、私のテーマのダッシュボードのプロフィール編集画面にいくつかの追加情報フィールドを追加しています。私は主にテキストフィールドを使用していますが、著者の国のドロップダウン選択メニューがあります。

<select name="country" class="mid2" id="country"  value="<?php echo $userdata->country ?>" style="width:150px;">

私の問題は、例えばユーザーが "Togo"を選択した場合、それは変更を登録しますが(著者のバイオページに反映されているのでこれはわかります)、ドロップダウンメニューのデフォルト値(この場合アメリカ)は常に残る同じ。

どのように私がそれを作者が選択した国を表示させることができるかに関する任意の考え?

1
Dean Elliott

Wordpressには、選択を処理するための非常に小さな機能が組み込まれています。

<option <?php selected('value1', 'value2');?> value='foo'>Bar</option>

これらのフォーム処理機能をチェックすることもできます。

あなたのHTML構文もまた間違っています。 W3Cによると、 'value'はselectタグの属性ではありません。選択の値は、選択のオプションで定義されています。これは次のようになります。

<select name="country" class="mid2" id="country" style="width:150px;">
    <option value="US" <?php selected('US', $userdata->country);?>>USA</option>
    <option value="ES" <?php selected('ES', $userdata->country);?>>Spain</option>
    <option value="FR" <?php selected('FR', $userdata->country);?>>France</option>
</select>
2
Brian Fegter

それであなたはそれが変更を登録すると言います、それはそれがそのWordpress問題のように実際には聞こえません、しかしここにあなたがとにかくそれを表示する方法があります。

<option value="your_value" <?php if(this is the Country you selected)echo 'selected="selected"'; ?> >The Country</option> 
0
Cole