2012-05-18 4 views
1

У меня есть каскадное выпадающее меню с jQuery, которое использует 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');"; 
} 
?> 

Любые предложения о том, что делает это более надежные будут оценены. Благодаря

ответ

0

Вот несколько предложений:

  • Использование bind и trigger для заполнения ребенка, когда родитель выбран
  • магазин $_POST в переменной, чтобы родительский липким и использовать ctype для проверки его
  • Используйте fragment identifier, чтобы добавить дочерний элемент в URL-адрес, затем привяжите событие, чтобы прочитать значение, и заставьте ребенка липким при перезагрузке.

 Смежные вопросы

  • Нет связанных вопросов^_^