2013-10-22 31 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 ..你可以修改它,因爲你需要。