通过ajax检索文档后添加日期拾取器

Add datepicker after retrieving document by ajax

本文关键字:日期 添加 ajax 检索 文档 通过      更新时间:2023-09-26

我一直在向一些文本字段添加日期拾取器功能,并取得了成功的结果,但是当我试图将其应用于已加载到div中的文档时,它失败了。

我用

加载文档
<a href="javascript:;" onclick="FAjax('form_ajustes_salida.php','ok4','','post');">Ajustes salida</a>

其中faajax

function FAjax(url, capa, valores, metodo){
    var ajax=creaAjax();
    if (metodo.toUpperCase()=='POST'){
        ajax.open('POST', url, true);
        ajax.onreadystatechange =function(){
            procesaAjax(ajax,capa);
            }
        ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        ajax.send(valores);
        return;
    }
    if (metodo.toUpperCase()=='GET'){
        ajax.open('GET', url, true);
        ajax.onreadystatechange =function(){
            procesaAjax(ajax,capa);
            }
        ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        ajax.send(null);
        return;
    }
    }

我尝试从主文档和加载的文档中应用日期拾取器,但没有结果。

你能帮帮我吗?提前感谢

通常这样的日期选择器插件做的是,它会在DOM中查找输入元素,然后将事件绑定到它以显示自定义选择器。

在您的示例中,应用日期拾取器的元素稍后使用AJAX和javascript加载到DOM。因此,只有将输入元素添加到DOM后,才能应用日期选择器。

如果procesaAjax(ajax,capa);应该将响应HTML添加到DOM,那么您可以在此之后调用日期选择器初始化。

procesaAjax(ajax,capa);
$('input#myinput').datePicker();

这是因为通常你会在里面设置日期选择器:

$(document).ready(function() {
    $(".date").datepicker({
       format : "dd-mm-yyyy"
    });
});

这将只应用于预先存在的字段,以便在浏览器编译页面时设置日期选择器。

如果你用ajax加载页面,那么在你加载div后调用:

    $(".date").datepicker({
       format : "dd-mm-yyyy"
    });

它应该可以工作。