0

わかりました、私は自分のドロップダウンボックスを作成しました。私はDivを持っており、Divにはスパンがあります。その内側のスパンテキストを取得する必要があります。それ、どうやったら出来るの?スパンのテキストは変更されます。私は15歳ですので、休憩してください。助けが必要です!これは、値がピケットであるということです。

    <div>
 <select id="test_select" style="display:none;">
        <option value="1">Graphic Designer</option>
        <option value="2">Animator</option>
        <option value="7">Announcer</option>
        <option value="11">Web Developer</option>
        <option value="12">Judge</option>
        </select>

</div>

それが得られる必要があるものです:

<div class="custom-select">
    <span>Select Option</span>
    <ul>        
    </ul>
</div>
4

1 に答える 1

1

わかりました。これを行うには、PHPだけでは不十分です。JavaScriptも必要です。

HTMLから始めましょう。レンダリングされた出力は次のようになっていると思いますが、なぜこのようにしているのかは疑問に思いません。

<div id="dropdown">
    <span>Option One</span>
    <span>Option Two</span>
    <span>Option Three</span>
</div>

だからあなたのHTMLに私の推測があります。

値をPHPにポストバックするには、フォームでポストできる入力フィールドで選択した値をキャプチャする方法も必要になります。隠し入力はおそらくあなたにとって最良の選択肢でしょう。

<input type="hidden" name="dropdown-selection" id="dropdown-selection" />

これでマークアップが完了しました。次に、divから選択したオプションを取得し、非表示のフィールドに貼り付ける必要があります。ドロップダウンとまったく同じように表示および動作するようにdivをレンダリングするために何かをコーディングしたと仮定します(わかりました、噛みます。なぜこのようにしているのですか?)。

これはjQueryを使用したJavaScriptコードです(StackOverflowではjQueryのみを使用しています。冗談です。それは真実ではありません。まあ、少し真実かもしれません)

<script type="text/javascript">
    $(function () {
        $('#dropdown-selection').val($('#dropdown span:visible').text());
    });
</script>

これで、非表示フィールドがターゲットPHPページにポストバックするフォーム内に含まれていることを確認している限り、spanタグの値を使用できます。

ここでページを設定する方法について、かなりの数の仮定を立てました。現実に結びつかない部分については私を訂正してください。

于 2012-04-27T01:10:44.407 に答える