В раскрывающемся списке начальное значение (выберите вариант), добавляемое, наконец, jquery ajax в php - PullRequest
0 голосов
/ 01 апреля 2020

Я заполняю раскрывающийся список, используя ajax, для которого я добавляю, пожалуйста, выберите в моей модели, но когда я добавляю его в раскрывающийся список, используя jquery ajax начальная опция, т.е. (Пожалуйста, выберите) - это последнее значение, которое я хочу быть начальным значением, чтобы я мог проверить выпадающий список. Мой код выглядит следующим образом:

Codeigniter Модель:

public function getStates($country_id){
        $states =  $this->db->where('country_id',$country_id)->get($this->states)->result();
      if(!empty($states)){
        $response = array('' => 'Please select');
            foreach ($states as $state) {
                $response[$state->id] = $state->name;
            }

        }return $response;
    }

Ajax Функция:

success: function(result){
                if(result){
                    var html = "";
                    jQuery.each(result, function(key,value) {
                        html = html+"<option value="+key+">"+value+"</option>"; 
                    });
                    jQuery("select[name=state]").parent().removeClass('hide');
                    jQuery("select[name=state]").empty().append(html);
                }
            } 

Вывод:

UP
AP
Please Select

но я хочу получить

Please Select
UP 
AP

1 Ответ

0 голосов
/ 01 апреля 2020

Используйте ksort для сортировки по ключам.

return ksort($response)

Или, поскольку это просто заполнитель, добавьте его в начало:

$response = array();
foreach ($states as $state) {
    $response[$state->id] = $state->name;
}
...

if(result){
    var html = "<option value=''>Please Select</option>";
    jQuery.each(result, function(key,value) {
        html = html+"<option value="+key+">"+value+"</option>"; 
    });
    jQuery("select[name=state]").parent().removeClass('hide');
    jQuery("select[name=state]").empty().append(html);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...