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

1 回答 1

0

首先,$.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);
        }
    });
});
于 2013-10-16T20:14:50.050 回答