2013-10-16 174 views
1

您好我有一個jQuery的問題,動態複選框,我不知道我錯過了什麼,如果有人可以幫助我感謝這裏是我的代碼動態複選框問題

$('input[name="id_especieganado[]"]').each(function(e){ 
    //$('[name="id_especieganado[]"]').click(function() { 
     var $this = $(this); 
     var id_jurisdiccion = new Array(); 
     var jurisdicciones = ""; 
     //id_jurisdiccion = $("#id_jurisdiccion[]"); 
     var i = 0; 
     $(this).bind('click',function(){ 
     //$('input[name="id_especieganado[]"]').each(function(){ 
      if($(this).is(':checked')) 
      { 
       id_jurisdiccion.push($(this).val()); 
       jurisdicciones += "id_jurisdiccion[]="+$(this).val()+"&"; 
       $("#buscarrfc").val("Hola"); 
      } 
     }) 
     //if($("#id_jurisdiccion[]").attr("checked")==true) 
      //alert($("input[name='id_jurisdiccion[]']").val()); 
     $.ajax({ 
      url:"funciones_jquery2.php", 
      type: "POST", 
      dataType: 'html', 
      data: jurisdicciones, 
      success: function(datos){ 
       $("#listamunicipios").html(datos); 
       //alert(datos); 
      } 
     }) 
      //}) 
    }); 

動態複選框我寫的他們從一個數據庫,該數據庫是Postgres數據庫和PHP

這裏是一個內嵌類的代碼

的複選框看起來不錯

private function especies_ganado() 
    { 
     $database = $this->conexion_db(); 
     $resultado = pg_query($database, "SELECT *FROM especies_ganado;"); 
     echo "<tr><td>"; 
     while($row = pg_fetch_array($resultado)) 
     { 
      echo "<input type=\"checkbox\" name=\"id_especieganado[]\" id=\"id_especieganado[]\" value=\"$row[id_especieganado]\"> $row[especie_ganado]<BR>"; 
     } 
     echo "</td></tr>"; 
    } 
+1

你想解決什麼問題? – DaneSoul

回答

0

首先,$.ajax()調用位於.each()函數體中,所以您可以爲每個複選框(在頁面加載時)調用它,但我假設您希望在每次單擊複選框時發送數據。把它們放在點擊處理程序中。

其次,您必須在發送數據之前收集單擊事件處理程序中的每個複選框值。

// for every checkbox, add a click handler (no need for each anymore) 
$('input[name="id_especieganado[]"]').bind('click',function() { 
    // create an object for post data 
    var post_data = {'id_jurisdiccion': new Array()}; 
    // collect the values from checked checkboxes 
    $('input[name="id_especieganado[]"]:checked')).each(function() { 
     post_data['id_jurisdiccion'].push($(this).val()); 
    }); 
    // send the data 
    $.ajax({ 
     url:"funciones_jquery2.php", 
     type: "POST", 
     dataType: 'html', 
     data: post_data, 
     success: function(datos) { 
      $("#listamunicipios").html(datos); 
     } 
    }); 
});