2013-10-22 26 views
0

您好我有一个问题想要绑定的事件在复选框阵列看起来好像绑定方法不工作,我把警报探测活动,但似乎什么都没有发生活动从数据库

这里是我的从数据库中生成的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')) 
      { 
       alert($(this).val()); 
       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); 
      } 
     }) 
      //}) 
    }); 

和动态阵列来自下一个方法类

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>"; 
    } 

这是一个私有方法至极从另一公共使用方法具d填充列表,打印复选框,但事件未绑定。 根据下一个jQuery代码中的选择控件打印复选框。

$("#id_cedulaverificacion").change(function(){ 
     var id_cedulaverificacion = $("#id_cedulaverificacion").val(); 
     var id_tipovisita = $("#id_tipovisita").val(); 
     //alert(id_cedulaverificacion); 
     $.ajax({ 
      url: "funciones_jquery.php", 
      type: "POST", 
      data: "id_cedulaverificacion="+id_cedulaverificacion+"&id_tipovisita="+id_tipovisita, 
      success: function(datos){ 
       $("#cedulas").html(datos); 
      } 
     }); 
    }); 

任何帮助我真的很感激

回答

0

你不需要每次循环的click事件...使用.on()动态添加元素。

$(document).on('click','input[name="id_especieganado[]"]',function(){ 

    var jurisdicciones = $('input[name="id_especieganado[]"]:checked').map(function(){ 
     return this.value; 
    }).get().join(','); 
    alert(jurisdicciones); //this will have comma seperated checked values 
    if(jurisdicciones !=""){ //check if not empty then call ajax 
     $.ajax({ 
     url:"funciones_jquery2.php", 
     type: "POST", 
     dataType: 'html', 
     data: {data:jurisdicciones}, //comma seperated values. 
     success: function(datos){ 
      $("#listamunicipios").html(datos); 
      //alert(datos); 
     } 
     }) 
    } 

}); 

与此检查的值被张贴data到服务器,因此你可以用, 爆发,并得到相应的价值。我正在使用,如果以防万一,如果检查值是空的,那么不需要调用ajax ..你可以修改它,因为你需要。