質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.19%

セレクトボックスの不具合?

受付中

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 1,296

uverworld101nm

score 100

セレクトボックスを設置し、例えば下記のサンプル2をクリックするとサンプル2になりますがセレクトボックスの中の値はサンプル1になってしまいます。セレクトボックスのサンプル2をクリックしたら、セレクトボックスの値をサンプル2に固定させるにはどうすればいいですか?

<select name="example">
<option value="サンプル1">サンプル1</option>
<option value="サンプル2">サンプル2</option>
<option value="サンプル3">サンプル3</option>
</select>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2016/08/09 16:19

    こちらの質問が他のユーザから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

回答 4

+2

これ を一読しましょう
同様に別のタグも読みましょう

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

提示のソースで特に問題なく選択した値になるようですが、何に困っているのでしょうか?
タグにPHPがあるのでひょっとしてフォームを送信するときに値がうまく取得できないといったことでしょうか?
サンプル

【追記】
値を送信したときに「サンプル1」に戻ってしまうとのことですが、
これは当然の動きです。
通常、submitで値を送信するときに、ページが遷移(リフレッシュ)しているはずです。
これを保持したい場合にはいくつかやりかたが考えられますが、
簡単なのはajaxを使うことですね。

今、PHPを使っていると思いますが、値を送信するときにformのactionを使わないようにします。
type="button"などに変えてsubmitの動作をさせないようにしてください。

あとは、ajax(jQueryを使うと簡単です)で、値を送信するためのURL(なんちゃら.phpとか)を指定してPOSTします。

もし、他のページに行ってまた戻ってきたときもその値のままにしたいとなると、それはセッションを見て値を保持しておき、フォームのページにアクセスしたときにその値を入れておくなどの処理が必要です。

具体的にサイトの構造をどうしたいのかがわかりませんが、上記を参考にどう実装するのか考えてみてください。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/08/08 11:58

    問題のコードは本文に書いたほうが良いのでは?
    回答のコードについては仕方ないと思いますがコメント欄が無駄に長くなりますし見苦しいです。

    キャンセル

  • 2016/08/08 12:05

    すみません、質問に載せられないトラブルがあり載せられませんでした。

    キャンセル

  • 2016/08/08 12:06

    直り次第、出します。

    キャンセル

0

ちゃんとほかの方の言葉を聴いていますか?プログラム以前の問題だと思いますよ。
ググって色々ちゃんと調べてください。そして自分でやってください。
そしてそれをせずにただ聞くのはやめてください。そんな事の為に回答者さんの時間を盗らないで下さい。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

内容から察するにフォームで送信し、受け取った側は、正しい値を受信できているが、再表示がかかった際に、デフォルト表示に戻ってしまうという意味かと存じます。

そしてそれをPHPで、再表示後も選択したセレクトを選択した状態にしておきたい。

というような内容かと推察いたします。
そういう意味であれば、以下のようにすればよいかと存じます。

※以下のソースは、内容がわかりやすいように、原本HTMLを極力残した形で記載しておりますが、
SELECT項目(option value値)の数が増えれば増えるほど、駄作なコーディングですので、実際に利用される際にはさらなる工夫が必要です。

<?php
$selected01 = $selected02 = $selected03 = null;

if (isset($_POST["example"]) == true)
{
    $select_value = $_POST["example"];

    switch($select_value)
    {
    case "サンプル1" :
        $selected01 = " selected";
        break;

    case "サンプル2" :
        $selected02 = " selected";
        break;

    case "サンプル3" :
        $selected03 = " selected";
        break;

    default :
        break;
    }

    echo "選択したのは【${select_value}】です。";
}


?>

<!doctype html>
<html>
<head>
<meta charset="shift_jis">
</head>
<body>
<form action="" method="post">
<select name="example">
<option value="サンプル1"<?php echo $selected01 ?>>サンプル1</option>
<option value="サンプル2"<?php echo $selected02 ?>>サンプル2</option>
<option value="サンプル3"<?php echo $selected03 ?>>サンプル3</option>
</select>
<input name="送信" type="submit">
</form>

</body>
</html>

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.19%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる