0

選択ボックスのあるサインアップフォームがあり、ユーザーが選択したオプションに応じて、特定のフィールドが使用可能になります。これは、別の投稿から取得した以下のコードでうまく機能します。

<div id="option1" class="plan_options" style="display:none">display something</div>


$(function() {
    $('#plan').change(function(){
    $('.plan_options').hide();
        $('#' + $(this).val()).show();
    });
});

私が抱えている唯一の問題は、誰かが製品ページからサインアップフォームにアクセスしたときに、上記のコードが適用されるプランオプションの1つであるGETを介して変数を渡していることです。selectには適切な値が正しく入力されていますが、上記のコードは機能せず、divは表示されません。適切な選択の1つに手動で変更した場合(GETを通過したものを含めて正常に機能します-GETの値を使用するために上記のコードを取得する方法はありますか?

4

1 に答える 1

2

変更は実際にはGET値を介して行われないため、これは.change()と関係があります。ページの読み込み時に変更をトリガーする必要があります。GETから変数をキャプチャして適用したと仮定します。

フィドル

何かのようなもの..

$('document').load(function(){
    $('#plan').change();
});

また、次のようにon()ハンドラーを使用して関数を設定する必要があります。

$(function() {

    $('body').on('change', '#plan', function(){
        $('.plan_options').hide();
        $('#' + $(this).val()).show();
    });

});

最終的にはこれが最終的なコードになります...:)

$(function() {

    $('body').on('change', '#plan', function(){
        $('.plan_options').hide();
        $('#' + $(this).val()).show();
    });

    $('#plan').change();

});
于 2012-11-11T20:39:48.683 に答える