2012-05-14 2 views
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, но, похоже, это не работает. Есть идеи?? Благодарю.Как сохранить выбранное значение в раскрывающемся списке после обратной передачи?

ответ

0

Насколько мне известно, для предварительного заполнения формы вам потребуется использовать код на стороне сервера. Вы говорите, что пользователь отправляет свой код где-нибудь, но вы не говорите, как обрабатывается сообщение формы.

Я использую ASP.net, где я работаю, поэтому у меня будет свойство на стороне сервера для значения каждого раскрывающегося списка. Затем, когда страница отображает, я печатаю значение свойства в свой код JavaScript. Вам нужно будет сделать свой код JavaScript, добавив атрибут selected='selected' к опции, которую вы хотите выбрать при загрузке страницы.

Обновление: Похоже, вы говорите, что вы выбираете раскрывающийся список 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. 
     }); 
+0

благодаря вашей правильно, вот так, как я делаю это. липкая функциональность отлично работает на форме для всех полей. county_id сохраняется на перезагрузке paghe. Я просто не могу заставить jquery запустить вызов ajax, чтобы заполнить поле со списком Vice_county_id. ура – jiraiya

0

Использование Cookies для сохранения значения события смены вниз.

и когда загрузка формы использует тот же файл cookie для извлечения значения и отображения пользователя, что он выбрал.

Но сохранение cookie для этой задачи не рекомендуется.

Вы можете использовать JSTL, если это страница JSP.

Cookie Создание Guidlines http://www.quirksmode.org/js/cookies.html