Привет, У меня есть проблема с попыткой связать события в массиве checkboxes, как будто метод привязки не работает, я поставил предупреждение для проверки события, но ничего не случилось
Вот мой код 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>";
}
Это частный метод, который используется из другого общедоступного метода для заполнения списка, эти флажки печатаются, но события не привязаны. Эти флажки печатаются в зависимости от элемента управления select в следующем коде 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);
}
});
});
Любая помощь, которую я бы очень ценю
вам не нужен каждый цикл для события 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.. вы можете изменить его по мере необходимости.