Переполнение поля множественного выбора Jquery? - PullRequest
0 голосов
/ 15 марта 2012

Вот демо из учебника, за которым я следовал, за исключением того, что оно отсутствует в codeigniter, поэтому оно не заполняется при перезагрузке.

Я использую codeigniter, который позволяет мне повторно заполнить значение формы, если есть ошибка, поэтому, если есть ошибка при отправке, форма перезагрузится и останется с тем же значением (если это значение по умолчанию "0" .city не появится) ....

    //.country & .city are slection box, once .country is select it will display 
    // .city and the country cities.

jQuery(document).ready(function(){

    jQuery(".country").bind("change click", function(){

    var country = jQuery(".country").val();       

    jQuery.ajax({
            type: "POST",
            url: "/get/locations",
            data: ({country : country }),
            beforeSend: function(){ jQuery("").show(); },  //this is to load an effect (I have empty it for now)
            complete: function(){ jQuery("").hide(); },  
            success: function(response){
                jQuery(".city").html(response);
                if(country=== '0' ){  
                //The default (<option value="0">Select</option>
                    jQuery(".city").hide();
                } else{
                    jQuery(".city").show();
                }
            }
        });
    }).trigger("change"); 

В последнем коде «trigger (« change »)» мы проверяем, что при перезагрузке страницы проверяется jquery, поэтому, если CI заполнит пример значения 2 (страна X), он покажет города страны X без чтобы изменить или нажмите.

Все работает отлично, за исключением того, что codeigniter не может снова заполнить выбор .city. Поскольку значения получаются после того, как документ готов и codeigniter, вероятно, просто видит пустые значения в поле выбора .city.

Есть ли способ, которым я мог бы заполнить .city с помощью jquery или получить codeigniter, чтобы заполнить его в случае ошибки?

Пример того, как HTML может выглядеть:

<select class="country">
             <option value="0">Select</option>
             <option value="1"> USA </option>
  </select>
  <select class="city" style="display:none;" >
  </select>

1 Ответ

0 голосов
/ 15 марта 2012

Если выбор заполнен правильно (что звучит так, как есть), вы можете активировать функцию изменения с помощью $('.country').change();.Это приведет к повторному заполнению выпадающего списка .city.Однако не будет выбирать ранее выбранный город - он просто заполнит параметры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...