2014-01-22 5 views
0

Я столкнулся с проблемой при извлечении данных из checkbox в codeigniter. моего взглядAjax Возвращаемые данные Ошибка

<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
     <script> 
       var base_url = '<?=base_url()?>'; 

        function test() 
        { 

         var country = document.forms["fetch_country"].country; 
         var countryText = '' 
         for (i=0;i<country.length;i++) 
          { 
          if (country[i].checked) 
          { 
          countryText = countryText + country[i].value + "," 

          } 
          } 
         // alert(countryText) 

           var type= countryText; 
          //  alert (type);     

         $.ajax({ 
          url: base_url+'/index.php/ajax_test/index', 
          type : 'POST', //the way you want to send data to your URL 
          data : {'type' : type}, 
          success : function(result){ //probably this request will return anything, it'll be put in var "data" 
           alert (type); 
           $('#div1').html(result); //jquery selector (get element by id) 

          } 
         }); 
          // alert ("countryFinalValue is " + id); 
        } 

     </script>    
</head>     
        <body> 


        <form id="fetch_country"> 


        <div id="new"> 
        <input id="country" type="checkbox" onclick="test()" value="1">India<br/> 
        <input id="country" type="checkbox" onclick="test()" value="2">USA<br/> 
        <input id="country" type="checkbox" onclick="test()" value="3">UK<br/> 
        <input id="country" type="checkbox" onclick="test()" value="4">China<br/> 

        </div> 
        </form> 

         <div id="div1"></div> 
        </body> 

И мой контроллер:

<?php 

class ajax_test extends CI_Controller 
{ 
function __construct() 
{ 

    parent::__construct(); 
    $this->load->view('view_test'); 
} 

public function index() 
{ 
    //$this->load->view('view_test'); 
    $id = $this->input->post('type'); 
     echo $id; 
    //$this->load->view('view_test' , $id); 

} 


} 

?> 

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

Output

+0

Почему вы используете 'jquery 1.3.2'? Его устаревший помощник – Satpal

+0

Могу ли я получить альтернативное решение? –

ответ

0

пожалуйста ваш список генерировать как этот

<input id="country" type="checkbox" data-value="1">India<br/> 
<input id="country" type="checkbox" data-value="2">USA<br/> 
<input id="country" type="checkbox" data-value="3">UK<br/> 
<input id="country" type="checkbox" data-value="4">China<br/> 

контроллера тестирования нормально сейчас, но позже добавить это конструктор

public function __construct() { 
    parent::__construct(); 
    if (!$this->input->is_ajax_request()) { 

     redirect(); //make sure that user is redirected when request is not AJAX 

    } 

    $this->output->enable_profiler(FALSE); //force to disable profiler 
} 

файла JavaScript должен выглядеть намного как и определить base_url где-то поверх вашей страницы

$(document).ready(function(){ 
    $('#country').click(function() { 
      var value = $(this).data("value"); 
      $.ajax({ 
       type  : 'POST', //Method type 
       url   : base_url + '/index.php/ajax_test/', 
       data  : {type: value}, //post data 
       success  : function(data) { 
        console.log(data); 
       } 
      }); 
     }); 
}); 
+0

НЕТ Это не работает Решение! –

+0

Chillout немного, вы получаете ошибки? – Kyslik

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