1

当页面加载日历对象时显示在表单上。但是当我从 onchange 事件调用 ajax 函数来选择一个城市时,在 ajax 调用之后日历不会显示在页面上。ajax 代码如下:

<script language="JavaScript">
function redirect()
{
    window.location='adm_regemployeelist.php';
}
function selectcity()
{

    var empid=document.getElementById("empid").value;   
    var empname=document.getElementById("empname").value;   
    var addr=document.getElementById("addr").value; 
    var addr1=document.getElementById("addr1").value;   
    var city=document.getElementById("city").value; 

    if(addr==''||empid==''||empname=='')
    {
        alert("Please Fill Out Empty Fields\n\n");
        return false;
    }

        if (window.XMLHttpRequest)
          {// code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp=new XMLHttpRequest();
          }
        else
          {// code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }

        xmlhttp.onreadystatechange=function()
          {
          if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                document.getElementById("container").innerHTML=xmlhttp.responseText;
            }
          }
        xmlhttp.open("GET","emp_registration.php?empid="+empid+"&empname="+empname+"&addr="+addr+"&addr1="+addr1+"&city="+city,true);
        xmlhttp.send();
}
</script>
4

1 回答 1

0

我认为您正在通过 ajax 调用将 html 元素替换为 id 'birthdate' ,该调用放置在 container 中。因此,您的日历不再与刷新的“生日”相关联。在您获得 ajax 响应并替换“容器”后再次启动它

$( "#birthdate" ).datepicker({ changeMonth: true,
                      changeYear: true, 
                      dateFormat: 'dd/mm/yy', defaultDate: '-20y -1m -247d', minDate:'19/03/1960', maxDate:tdate, };
于 2012-07-27T10:40:11.577 回答