2016-05-17 2 views
0

У меня такой код в моем контроллере, этот код я получил из примера кода, но когда я пытаюсь использовать свою таблицу, он не работает, чтобы заполнить другой выпадающий список.AJAX не работает с codeigniter

Мой контроллер

class Bkp extends CI_Controller { 

function __construct() { 
    parent::__construct(); 
    $this->load->model('modelRegister'); 
} 

function carselection() { 

    $arrCarbrand = $this->modelRegister->loadcarbrand(); 

    foreach ($arrCarbrand as $carbrand) { 
     $arrcar[$carbrand->make] = $carbrand->make; 
    } 

    $data['make'] = $arrcar; 

    $this->load->view('car',$data); 
} 

function ajax_call() { 

    if (isset($_POST) && isset($_POST['make'])) { 

     $make = $_POST['make']; 
     $arrModels = $this->modelRegister->loadmodelfrombrand($make); 

     //print_r($arrModels); 
     foreach ($arrModels as $models) { 
      $arrmodels[$models->model] = $models->model; 
     } 

     print form_dropdown('model',$arrmodels); 
    } else { 
     redirect('site'); 
    } 
} 
} 

мой взгляд

 <?php 
    $this->load->helper('html'); 
    ?> 
<html> 
    <head> 
     <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $('#makecombox select').change(function() { 
        var selMake = $(this).val(); 
        console.log(selMake); 
        $.ajax({ 
         url: "bkp/ajax_call", 
         async: false, 
         type: "POST", 
         data: "make="+selMake, 
         dataType: "html", 

         success: function(data) { 

          $('#model').html(data); 

         }, 
        }) 
       }); 
      }); 
     </script> 
    </head> 

    <body> 
     <div id="mydoubts"> 
      <div id="makecombox"><?php echo form_dropdown('make',$make); ?></div> 
      <div id="model"></div> 
     </div> 
    </body> 
</html> 

, когда я пытаюсь использовать пример кода, он работает, но когда я пытаюсь изменить переменную с моим столом не работает, скажите, какие строки я ошибался?

+0

пытаются передать данные, как эти данные: { «страна»: selCountry}, – JYoThI

+0

и вы не имеете имя POST как $ _POST [ «сделать»]; который используется в вашем контроллере – JYoThI

+0

привет @jothi мой плохой, я вставляю неправильный вид, пожалуйста, см. снова выше ... –

ответ

1

попытка передать данные, как эти данные: { «страна»: selCountry},

отсутствует точка с запятой в Ajax вызова

<script type="text/javascript"> 
     $(document).ready(function() { 
      $('#makecombox select').change(function() { 
       var selMake = $(this).val(); 
       console.log(selMake); 
       $.ajax({ 
        url: "bkp/ajax_call", 
        async: false, 
        type: "POST", 
        data: {'make':selMake}, 
        dataType: "html", 

        success: function(data) { 

         $('#model').html(data); 

        } //remove comma here 
       }); //add semicolon here 
      }); 
     }); 
    </script> 
+0

привет @jothi, я изменил представление, мое плохое, мне дали неправильный view –

+0

в любом случае я попытался использовать этот, данные: {'make': selMake}, но он же не показал другого выпадающего списка –

+1

проверить элемент и просмотреть консольную ошибку на вкладке в сети – JYoThI

0

Ваш чек ваша функция контроллера запрос должен быть остановлен с помощью штампа или функция выхода,

function ajax_call() { 

    if (isset($_POST) && isset($_POST['make'])) { 

     $make = $_POST['make']; 
     $arrModels = $this->modelRegister->loadmodelfrombrand($make); 

     //print_r($arrModels); 
     foreach ($arrModels as $models) { 
      $arrmodels[$models->model] = $models->model; 
     } 

     print form_dropdown('model',$arrmodels); 
     die; 
    } else { 
     redirect('site'); 
    } 

}

Ваш Аякса повторно Данные поиски,

$.ajax({ 
       url: "countrystate_disp/ajax_call", 
       async: false, 
       type: "POST", 
       data: {'make':selMake}, //data should be like this 
       dataType: "html", 
       success: function(data) { 
        $('#state').html(data); 
       } 
      }); 
Смежные вопросы