0
$("#county_id").change(function() {
    $("#vice_county_id").html("<option value=\"\">-- Select One --</option>");
    var co_id = $(this).val();
    if(co_id != 0) {
        $.getJSON('./php/includes/vice_county_web_service.php?co_id=' + co_id,function(data) {   
            $.each(data, function() {
                $("#vice_county_id").append($("<option></option>").val(this['vice_county_id']).html(this['vice_county_name']));
            });
        });
    }
});

こんにちはみんな、別のドロップダウンの選択に基づいて、あるドロップダウンにオプションをロードするための上記のコードがあります。それは正常に動作しますが、これを完了するために、粘着性を持たせようとしています. つまり、フォームが投稿され、郡がすでに選択されている値を持っている場合、副郡は関連するオプションを事前にロードします。基本的に、ロード時に .change 機能を起動します。.load および triggerhandler 機能を試しましたが、うまくいかないようです。何か案は??ありがとう。

4

2 に答える 2

0

Cookie を使用して、ドロップダウン変更イベントの値を保存します。

フォームが読み込まれると、同じCookieを使用して値を取得し、ユーザーが選択したものを表示します。

ただし、このタスクのために Cookie を維持することはお勧めしません。

JSP ページの場合は JSTL を使用できます。

Cookie 作成ガイドライン http://www.quirksmode.org/js/cookies.html

于 2012-08-07T14:11:33.307 に答える
0

私の知る限り、フォームに事前入力するには、サーバー側のコードを使用する必要があります。ユーザーが自分のコードをどこかに投稿すると言いますが、フォームの投稿がどのように処理されているかはわかりません。

私は自分の職場で ASP.net を使用しているので、各ドロップダウン リストの値に対してサーバー側のプロパティを使用します。次に、ページがレンダリングされるときに、プロパティの値を JavaScript コードに出力します。selected='selected'ページの読み込み時に選択するオプションに属性を追加する JavaScript コードを作成する必要があります。

更新: ドロップダウン 1 を選択すると、ドロップダウン 2 のオプションが自動的に入力されると言っているようです。問題は、ドロップダウン 2 のオプションがページの読み込みに (AJAX を介して) 入力されるため、ポストバック後に保持できないことのようです。あなたの問題の解決策は、AJAX 経由でドロップダウン オプションを正常に取得したときに実行されるコード内で選択された属性を設定することになると思います。

        $.each(data, function() {
            $("#vice_county_id").append($("<option></option>").val(this['vice_county_id']).html(this['vice_county_name']));
            //Check if the option being added was previously selected.
        });
于 2012-05-14T15:16:02.450 に答える