动态复选框问题


Dynamic checkboxes issue

嗨,我在动态复选框方面遇到了 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 DB和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>";
    }

首先,$.ajax()调用位于.each()函数体中,因此您为每个复选框(在页面加载时)调用它,但我假设您希望在每次单击复选框时发送数据。将它们放在单击处理程序中。

其次,在发送数据之前,您必须收集 click 事件处理程序中的每个复选框值。

// 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);
        }
    });
});