带有数据表插件的动态内容上的jQuery datepicker问题

问题描述

使用jquery datatables插件填充html表后出现此问题,我有一个输入字段,当我将焦点放在该字段上时,我需要显示datepicker,我尝试使用.on,body和document作为选择器,它不会触发日期选择器。即使当我使用主体选择器时,我也可以获取元素的ID并将其显示在控制台上,但datepicker无效。

这是我的代码

$(document).ready(function(){


$.ajax({
        type: "POST",url: "classes/ajax.class.PHP",data: { 
          task: "getAllOrdenesSinAnularjson" 
        }
}).done(function(data){

    //console.log(data);


    data = data.replace(/\\n/g,"\\n")  
                   .replace(/\\'/g,"\\'")
                   .replace(/\\"/g,'\\"')
                   .replace(/\\&/g,"\\&")
                   .replace(/\\r/g,"\\r")
                   .replace(/\\t/g,"\\t")
                   .replace(/\\b/g,"\\b")
                   .replace(/\\f/g,"\\f");
    // remove non-printable and other non-valid JSON chars
    data = data.replace(/[\u0000-\u0019]+/g,""); 
    var data = JSON.parse(data);
    

    $("#datatable").show();
    $("#esconder").hide();

    j=1;
    for(i=0; i<data.length;i++) {
    
        var rowIndex = $('#datatable').dataTable().fnAddData([
            data[i].ordenar,data[i].pedido,data[i].consecutivo,data[i].cedula,data[i].cliente,data[i].fecha_creado,data[i].fecha_entrega,data[i].fecha_diseno,data[i].fecha_produccion,data[i].fecha_abierta,data[i].diseno,data[i].produccion,data[i].entregada,data[i].pedido
        ]);

    

    }


    


})

$(document).on('focus',".fechaAbierta",function(){
    var id = $(this).attr("id");
    console.log(id);
    $("#"+id).datepicker();
});

PHP代码

public function getAllOrdenesSinAnularjson() {

    $db   = new database();
    $conn = $db->conn();
    
    try {

        $sql = "SELECT * from dummy_orden_pedido where estado not in (4,5) order by orden DESC";
        
        $query = $conn->prepare($sql);
        $query->execute();
        $results = $query->fetchAll();

        $i=0;

        //die(var_dump($results));

        foreach ($results as $rsl) {


            $id_paciente = $rsl['id_paciente'];
            $consecutivo = $rsl['consecutivo'];

            $sql_paciente = "SELECT id_preregistro,nombre,apellido,cedula,telefono,id_cliente FROM dummy_preregistro WHERE id_preregistro = '".$id_paciente."'";
            $query = $conn->prepare($sql_paciente);
            $query->execute();
            $results_paciente = $query->fetch();

            


            switch ($rsl['estado']) {
                case '1':
                    $estado="diseño";
                break;
                case '2':
                    $estado="Producción";
                break;
                case '3':
                    $estado="Terminado";
                break;
                case '4':
                    $estado="Entregada";
                break;
                case '5':
                    $estado="Anulada";
                break;
                case '6':
                    $estado="Inicial";
                break;
                case '7':
                    $estado="Facturada";
                break;
            }



            //$ordenes_completas[$i]['pedido'] = "<td align='center' class='row_der sorting_1'><center>".str_pad($rsl["id_orden_pedido"],8,'0',STR_PAD_LEFT)."</center></td>";

            $ordenes_completas[$i]['ordenar'] = "<td align='center' class='row_der sorting_1'>ordenar</td>";

            $ordenes_completas[$i]['pedido'] = "<td align='center' class='row_der sorting_1'><center><a target='_blank' href='index.PHP?id=editar_orden&id_orden=".$rsl["id_orden_pedido"]."'>".str_pad($rsl["id_orden_pedido"],STR_PAD_LEFT)."</a></center></td>";
            
            $ordenes_completas[$i]['consecutivo'] = "<td align='center' class='row_der'><center>".$consecutivo."</center></td>";
            
            $ordenes_completas[$i]['cedula'] = "<td align='center' class='row_der'><center>".$results_paciente['cedula']."</center></td>";
            
            $nombre = $results_paciente['nombre']." ".$results_paciente['apellido'];
            
            $ordenes_completas[$i]['cliente'] = "<center><a target='_blank' href='index.PHP?id=historicoUsuario&user_id=".$results_paciente['id_preregistro']."'>".$nombre."</a></center>";
            
            //$ordenes_completas[$i]['entrega'] = "<td align='center' class='row_der'><center>".$results_paciente['telefono']."</center></td>";

            $ordenes_completas[$i]['fecha_creado'] = "<td align='center' class='row_der'><center>".$rsl['fecha_creado']."</center></td>";
            $ordenes_completas[$i]['fecha_produccion'] = "<td align='center' class='row_der'><center>".$rsl['fecha_produccion']."</center></td>";

            $ordenes_completas[$i]['fecha_entrega'] = "<td align='center' class='row_der'><center>".$rsl['fecha_entrega']."</center></td>";

            //$ordenes_completas[$i]['fecha_abierta'] = "<td align='center' class='row_der'><center>".$rsl['fecha_abierta']."</center></td>";


            $ordenes_completas[$i]['fecha_abierta'] = "<td align='center' class='row_der'>";
            $ordenes_completas[$i]['fecha_abierta'] .= "<div class='preregistro_campo_fecha_abierta'>";
            $ordenes_completas[$i]['fecha_abierta'] .= "<input name='fechaAbierta' type='text' class='fechaAbierta hasDatepicker' id='fechaAbierta_".$rsl["id_orden_pedido"]."' value=''>";
            $ordenes_completas[$i]['fecha_abierta'] .= "</div>";
            $ordenes_completas[$i]['fecha_abierta'] .= "</td>";


            //$ordenes_completas[$i]['fecha_produccion'] = "<td align='center' class='row_der'><center>$ ".number_format($rsl["precio"],2)."</center></td>";
            $ordenes_completas[$i]['estado'] = "<td align='center' class='row_der'><center>".$rsl['estado']."</center></td>";

            $ordenes_completas[$i]['fecha_diseno'] = "<td align='center' class='row_der'><center>".$rsl['fecha_diseno']."</center></td>";

            /* diseño */
            if ($rsl['estado'] == "1") { 
                $ordenes_completas[$i]['diseno'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['diseno'].= "<div class='hoja_iconos_no_active'><img src='assets/image/diseno/022_hoja_trabajo/ico_02.png'/></div>";
                $ordenes_completas[$i]['diseno'].= "</td>";
                $ordenes_completas[$i]['produccion']= "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['produccion'].= "<div class='hoja_iconos' style='cursor:pointer;' id='P".$value["id_orden_pedido"]."' orden=".$value["id_orden_pedido"]."><label class='trans'>2</label><img src='assets/image/diseno/022_hoja_trabajo/ico_01.png'/></div>";                
                $ordenes_completas[$i]['produccion'].= "</td>";
                $ordenes_completas[$i]['entregada']= "<td align='center' class='row_izq'>";
                $ordenes_completas[$i]['entregada'].= "<div class='hoja_iconos' style='cursor:pointer;' id='E".$value["id_orden_pedido"]."' orden=".$value["id_orden_pedido"]."><label class='trans'>2</label><img src='assets/image/diseno/022_hoja_trabajo/ico_01.png'/></div>";
                $ordenes_completas[$i]['entregada'].= "</td>";
            } 

            /* Producción */

            if ($rsl['estado'] == "2") { 

                $ordenes_completas[$i]['diseno'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['diseno'].= "<div class='hoja_iconos_no_active'><label class='trans'>3</label><img src='assets/image/diseno/022_hoja_trabajo/ico_02.png'/></div>";
                $ordenes_completas[$i]['diseno'].= "</td>";
                $ordenes_completas[$i]['produccion'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['produccion'].= "<div class='hoja_iconos_no_active'><label class='trans'>3</label><img src='assets/image/diseno/022_hoja_trabajo/ico_02.png' /></div>";
                $ordenes_completas[$i]['produccion'].= "</td>";
                $ordenes_completas[$i]['entregada'] = "<td align='center' class='row_izq'>";
                $ordenes_completas[$i]['entregada'].= "<div class='hoja_iconos' style='cursor:pointer;' id='E".$value['id_orden_pedido']."' orden='".$value['id_orden_pedido']."'><label class='trans'>3</label><img src='assets/image/diseno/022_hoja_trabajo/ico_01.png'/></div>";
                $ordenes_completas[$i]['entregada'].= "</td>";

            } 

            /* Terminado */

            if ($rsl['estado'] == "3") { 

                $ordenes_completas[$i]['diseno'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['diseno'] .= "<div class='hoja_iconos_no_active'><label class='trans'>4</label><img src='<?PHP echo $base_path;?>assets/image/diseno/022_hoja_trabajo/ico_02.png' /></div>";
                $ordenes_completas[$i]['diseno'] .= "</td>";
                $ordenes_completas[$i]['produccion'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['produccion'] .= "<div class='hoja_iconos_no_active'><label class='trans'>4</label><img src='<?PHP echo $base_path;?>assets/image/diseno/022_hoja_trabajo/ico_02.png' /></div>";
                $ordenes_completas[$i]['produccion'] .= "</td>";
                $ordenes_completas[$i]['entregada'] = "<td align='center' class='row_izq'>";
                $ordenes_completas[$i]['entregada'].= "<div class='hoja_iconos' style='cursor:pointer;' id='E".$value['id_orden_pedido']."' orden='".$value['id_orden_pedido']."'><label class='trans'>4</label><img src='assets/image/diseno/022_hoja_trabajo/ico_01.png' /></div>";
                $ordenes_completas[$i]['entregada'].= "</td>";

            } 

            /* Entregado  */

            if ($rsl['estado'] == "4") {

                $ordenes_completas[$i]['diseno'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['diseno'] .= "<div class='hoja_iconos_no_active'><label class='trans'>5</label><img src='assets/image/diseno/022_hoja_trabajo/ico_02.png' /></div>";
                $ordenes_completas[$i]['diseno'] .= "</td>";
                $ordenes_completas[$i]['produccion'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['produccion'] .= "<div class='hoja_iconos_no_active'><label class='trans'>5</label><img src='assets/image/diseno/022_hoja_trabajo/ico_02.png' /></div>";
                $ordenes_completas[$i]['produccion'] .= "</td>";
                $ordenes_completas[$i]['entregada'] = "<td align='center' class='row_izq'>";
                $ordenes_completas[$i]['entregada'] .= "<div class='hoja_iconos_no_active'><label class='trans'>5</label><img src='assets/image/diseno/022_hoja_trabajo/ico_02.png' /></div>";
                $ordenes_completas[$i]['entregada'] .= "</td>";

            }

            /* Anulada  */

            if ($rsl['estado'] == "5") {

                $ordenes_completas[$i]['diseno'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['diseno'] .= "<div class='hoja_iconos_no_active'>";
                $ordenes_completas[$i]['diseno'] .= "Anulada";
                $ordenes_completas[$i]['diseno'] .= "</div>";
                $ordenes_completas[$i]['diseno'] .= "</td>";
                $ordenes_completas[$i]['produccion'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['produccion'] .= "<div class='hoja_iconos_no_active'>";
                $ordenes_completas[$i]['produccion'] .= "Anulada";
                $ordenes_completas[$i]['produccion'] .= "</div>";
                $ordenes_completas[$i]['produccion'] .= "</td>";
                $ordenes_completas[$i]['entregada'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['entregada'] .= "<div class='hoja_iconos_no_active'>";
                $ordenes_completas[$i]['entregada'] .= "Anulada";
                $ordenes_completas[$i]['entregada'] .= "</div>";
                $ordenes_completas[$i]['entregada'] .= "</td>";

            }
            
            /* Estado inicial */

            if ($rsl['estado'] == "6") {

                $ordenes_completas[$i]['diseno']  = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['diseno'] .= "<div class='hoja_iconos' style='cursor:pointer;' id='D".$value['id_orden_pedido'].' orden="'.$value['id_orden_pedido']."'><label class='trans'>1</label><img src='assets/image/diseno/022_hoja_trabajo/ico_01.png'/></div>";
                $ordenes_completas[$i]['diseno'] .= "</td>";
                
                $ordenes_completas[$i]['produccion'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['produccion'] .= "<div class='hoja_iconos' style='cursor:pointer;' id='P".$value['id_orden_pedido']."' orden='".$value['id_orden_pedido']."'><label class='trans'>1</label><img src='assets/image/diseno/022_hoja_trabajo/ico_01.png'/></div>";
                $ordenes_completas[$i]['produccion'] .= "</td>";
                
                $ordenes_completas[$i]['entregada'] = "<td align='center' class='row_izq'>";
                $ordenes_completas[$i]['entregada'] .= "<div class='hoja_iconos' style='cursor:pointer;' id='E".$value['id_orden_pedido']."' orden='".$value['id_orden_pedido']."'><label class='trans'>1</label><img src='assets/image/diseno/022_hoja_trabajo/ico_01.png'/></div>";
                $ordenes_completas[$i]['entregada'] .= "</td>";

            }

            /* Facturado */

            if ($rsl['estado'] == "7") {                

                $ordenes_completas[$i]['diseno'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['diseno'] .= "<div class='hoja_iconos_no_active'><label class='trans'>6</label><img src='assets/image/diseno/022_hoja_trabajo/ico_02.png'/></div>";
                $ordenes_completas[$i]['diseno']  = "</td>";
                
                $ordenes_completas[$i]['produccion'] = "<td align='center' class='row_der'>";
                $ordenes_completas[$i]['produccion'] = "<div class='hoja_iconos_no_active'><label class='trans'>6</label><img src='assets/image/diseno/022_hoja_trabajo/ico_02.png'/></div>";
                $ordenes_completas[$i]['produccion'] = "</td>";
                
                $ordenes_completas[$i]['entregada'] = "<td align='center' class='row_izq'>";
                $ordenes_completas[$i]['entregada'] .= "<div class='hoja_iconos_no_active'><label class='trans'>6</label><img src='assets/image/diseno/022_hoja_trabajo/ico_02.png'/></div>";
                $ordenes_completas[$i]['entregada'] .= "</td>";

            } 

            //die(var_dump($ordenes_completas[$i]['diseno']));

            //$ordenes_completas[$i]['diseno'] = "<td align='center' class='row_der'><div class='hoja_iconos_no_active'><label class='trans'>3</label><img src='http://www.dummy.net/intranet/assets/image/diseno/022_hoja_trabajo/ico_02.png'></div></td>";

            //$ordenes_completas[$i]['diseno'] = "<center><a href='index.PHP?id=nueva_factura&idorden=".$rsl["id_orden_pedido"]."&cliente=".$results_paciente['id_preregistro']."'>";
            //$ordenes_completas[$i]['produccion'] .= "<img src='assets/image/diseno/014_facturacion/facturar.png' title='Facturar'>";
            //$ordenes_completas[$i]['facturar'] .= "</a></center>";
            //$ordenes_completas[$i]['entregada'] = "<center><div class='pacientes_icono_editar elimina anula' id='eliminaAction' idpaciente='".$results_paciente['id_preregistro']."' style='cursor:pointer;'>";
            $i++;
            
        }

        $results = json_encode($ordenes_completas);
        echo $results;


    
    } catch ( PDOException $e ) {
        var_dump($e->getMessage());
        echo 'Caught exception: ',$e->getMessage(),"\n";
        return false;  
    }

}

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)