使用jQuery级联下拉列表

时间:2012-05-18 09:42:03

标签: php jquery drop-down-menu usability cascadingdropdown

我有一个使用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');";
}
?>

任何有关使其更加强大的建议将不胜感激。 感谢

1 个答案:

答案 0 :(得分:0)

以下是一些建议:

  • 使用bindtrigger在选择父级时填充子级
  • $_POST存储在变量中以使父级变为粘性,并使用ctype对其进行验证
  • 使用fragment identifier将子项附加到URL,然后绑定事件以读取值并在重新加载时使子项粘滞