2

私はjQueryが初めてで、ドロップダウンボックスで変更イベントをトリガーするのに問題があります。

これは私の HTML マークアップです

<select id="mini_bookinglocation" name="mini_bookinglocation">
    <option selected="selected" value="">Please Select</option>
</select>

これは私のjQuery

$("#mini_bookinglocation").change(function() 
{
    alert(" test ");
});

これをドキュメント準備ブロックの内側と外側に配置しようとしましたが、機能しないようです。アラートが表示されません。

また、ドキュメント準備セクション内でこれらの機能を維持する必要がありますか?

誰でも助けることができますか?

ありがとう

上記の値がjQueryを使用して動的に渡されることを追加するだけです。

4

4 に答える 4

8

ドロップダウンには値が 1 つしかありません。したがって、値は決して変更されません。.changeそれが呼び出されない理由です。選択ボックスにさらにオプションを追加してみてください。

また、 内に jQuery コードを記述する必要がありdocument.readyます。

于 2013-01-09T07:19:09.073 に答える
5

値が変更されると change イベントが発生するため、さらにオプションを追加してみてください。あなたの場合、値に変更はありません。

<select id="mini_bookinglocation" name="mini_bookinglocation">
    <option selected="selected" value="">Please Select</option>
    <option value="1">1</option>
    <option value="2">2</option>
   </select>

ドキュメントから

change イベントは、値が変更されたときに要素に送信されます。選択ボックス、チェックボックス、およびラジオ ボタンの場合、ユーザーがマウスで選択を行うとすぐにイベントが発生しますが、他の要素タイプの場合、要素がフォーカスを失うまでイベントは延期されます。

また、ドキュメント準備セクション内でこれらの機能を維持する必要がありますか?

いいえ、変更が発生したときにイベントが発生するため、ready 関数の下にコードを配置する必要はありません。

デモ

于 2013-01-09T07:19:06.437 に答える
1

ドキュメント準備完了関数で変更イベント リスナーを割り当てる

<html>
    <head>
        <script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
        <script type="text/javascript">

        $(document).ready(function() {
            $("#mini_bookinglocation").change(function() {
                alert(" test ");
            });
        });

        </script>
    </head>
    <body>
        <select id="mini_bookinglocation" name="mini_bookinglocation">
        <option selected="selected" value="">Please Select</option>
        <option value="A">Option A</option>
        <option value="B">Option B</option>
        <option value="C">Option C</option>
        <option value="D">Option D</option>
        <option value="E">Option E</option>
        </select>
    </body>
</html>

ここに例があります

于 2013-01-09T07:29:32.693 に答える
0

問題が見つかりました。私のコードでは、ある場所で jQuery を使用し、別の場所で $ を使用しているためです。私はこれをグーグルで検索でき、すべてをjQueryに変更し、すべての$を削除しただけで機能します。完全なコードを表示できなくて申し訳ありませんが、すべての回答を読んで多くのことを学ぶことができました。

助けてくれてありがとう。

于 2013-01-09T10:49:20.073 に答える