1

PHPを使用して値を取得するjQueryを使用したカスケードドロップダウンがあります。あらゆる状況で機能するように、それを釘付けにしようとしています。基本的には、次のことを行う必要があります。

  • 親が選択されたときに子を設定する
  • 親は粘着性があるため、ページが更新された場合、子は $_POST 配列の親の値に基づいて再び自動入力する必要があります。
  • 可能であれば、ページがリロードされたときに子も選択され、再入力されるだけでなく、子もスティッキーにしたいと思います。

これが私がこれまでに持っているものです:

$("#parent_id").change(function() {
    $("#child_id").html("<option value=\"\">-- Select One --</option>");
    var p_id = $(this).val();
    if(p_id != 0) {
        $.getJSON('./php/includes/child_web_service.php?p_id=' + p_id,function(data) {   
            $.each(data, function() {
                $("#child_id").append($("<option></option>").val(this['child_id_key']).html(this['child_name']));
            });
        });
    }
});

<?php
if(isset($_POST['parent_id']) && $_POST['parent_id'] != ""){
echo "$(\"#parent_id\").val(" . $_POST['parent_id'] . ").trigger('change');";
}
?>

これをより堅牢にするための提案をいただければ幸いです。ありがとう

4

1 に答える 1

0

以下にいくつかの提案を示します。

  • 親が選択されている場合は、バインドトリガーを使用して子を設定します
  • 変数に格納$_POSTして親をスティッキーにし、ctypeを使用して検証します
  • フラグメント識別子を使用して子を URL に追加し、イベントをバインドして値を読み取り、リロード時に子をスティッキーにします
于 2012-09-11T18:43:05.457 に答える