2013-10-07 23 views
0

我正在ajax調用中加載我的datepicker腳本,它工作正常,並加載日期選擇器,因爲它應該。我遇到的問題是當我點擊一天後它不會觸發onclick函數。在ajax調用中加載日期選擇器,然後onclick不起作用

如果我在一個單獨的窗口中加載的網頁日期選擇器向上自行然後正常工作

AJAX調用

function dates(str2){ 

    var event = findSelection("event"); 
    if (str2 == "") 
    { 
    document.getElementById("dates").innerHTML = ""; 
    return; 
    } 
    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("dates").innerHTML = xmlhttp.responseText; 
     $("#datepicker").datepicker(); 
    } 
    } 


    xmlhttp.open("GET", "dates.php?event=" + 
    event + "&type=" + document.getElementById("type").value, true); 

    xmlhttp.send(); 

} 

dates.php

<!doctype html> 

<html lang="en"> 
<head> 
    <meta charset="utf-8" /> 
    <title>jQuery UI Datepicker - Display inline</title> 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
    <link rel="stylesheet" href="/resources/demos/style.css" /> 
    <script> 
    $(function() { 
     $('#datepicker').datepicker({ 
      dateFormat: 'dd-mm-yy', 
      numberOfMonths: 1, 
      onSelect: function (selected, evnt) { 
       alert("I am an alert box!"); 
      } 
     }); 
    });  </script> 
</head> 
<body> 

Date: <div id="datepicker"></div> 


</body> 
</html> 
+0

你加載一個完整的HTML文檔插入一個div? 'document.getElementById(「dates」)。innerHTML = xmlhttp.responseText;' – HMR

回答

0

也許這樣的事情

dates.php(刪除除此之外的所有內容)

Date: <div id="datepicker"></div> 

然後你的js代碼(其他城市redystate改變功能):

xmlhttp.onreadystatechange = function() 
    { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
    { 
     document.getElementById("dates").innerHTML = xmlhttp.responseText; 
     $('#datepicker').datepicker({ 
      dateFormat: 'dd-mm-yy', 
      numberOfMonths: 1, 
      onSelect: function (selected, evnt) { 
       alert("I am an alert box!"); 
      } 
     }); 
    } 
    } 

或者因爲您選擇使用jQuery無論如何更改日期功能

function dates(str2){ 
    var event = findSelection("event"); 
    $("#dates").load("dates.php?event=" + 
    escape(event) + "&type=" + escape($("#type").val())); 
    $('#datepicker').datepicker({ 
    dateFormat: 'dd-mm-yy', 
    numberOfMonths: 1, 
    onSelect: function (selected, evnt) { 
     alert("I am an alert box!"); 
    } 
}); 
} 
相關問題