Jquery datepicker不用于动态内容的jquery对话框

时间:2013-09-04 05:50:12

标签: javascript jquery jsp datepicker

我有两个jsp页面,一个是main.jsp,另一个是dialog.jsp,在main.jsp中我调用了java脚本函数 openPopup(url,title)来打开对话框并加载内容来自给定 url 的对话框。

这是我的代码。
main.jsp中

<div id="dialogDiv"></div>
<div>
     <a onclick='openPopup("/WEB-INF/views/template/dialog.jsp", "Add Address")' title="add value"></a>
</div>


dialog.jsp

   <div class="loaddiv">
       <form:form method="POST" commandName="address" id="dialogForm">        
          <form:input id="livingSince" path="livingSince" cssClass="datepicker"/>
       </form:form>
   </div>


common.js

$(function(){    
$( ".datepicker" ).datepicker({
    changeMonth: true,
    changeYear: true,
    showButtonPanel: true,
    showAnim: 'fold'
});     

});

//for pop up
function openPopup(url, title) { 
$("#dialogDiv").load(url + " .loaddiv").dialog({
    position: 'center',
    modal: true,
    resizable: true,
    bgiframe: true,
    autoOpen: true,
    //height: 450,
    width: 500,
    title: title,
    buttons: {
        Save: function () {
            $("#dialogForm").submit();
            $("#dialogDiv").dialog('close');
        //$("#dialogDiv").html('');
        },
        Cancel: function () {
            $("#dialogDiv").dialog('close');
        }
    }
   });    
}


现在我的问题是在输入文本字段中单击后,对话框上没有显示datepicker。即使它完全在简单的jsp页面上工作,但不在对话框(弹出窗口)上。
我也试过这个解决方案,但它没有发生在我身上。 link

1 个答案:

答案 0 :(得分:0)

我也在加载动态内容。我使用时间选择器而不是日期选择器。如果我动态地加载内容(带时间选择器),时间选择器将不起作用,我感到非常沮丧。

我通过每次加载模态时调用一个方法解决了这个问题。在这个方法里面我加载了动态内容;然后(再次)我重新注册时间选择器。我附上了我的代码图像,显示了这是如何完成的。它现在工作得很好。

enter image description here