【问题标题】:Dynamic checkboxes issue动态复选框问题
【发布时间】:2013-10-25 02:47:55
【问题描述】:

您好,我有一个动态复选框的 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>";
    }

【问题讨论】:

  • 你想解决什么问题?

标签: php jquery dynamic checkbox


【解决方案1】:

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

其次,您必须在点击事件处理程序中收集每个复选框值,然后再发送数据。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 2021-06-12
    相关资源
    最近更新 更多