我有一个模态对话框,其中包含通过ajax加载的表单。在表单中是一个使用jquery timepicker填充的tim字段。如果我打开一次对话框,一切运行良好。如果我第二次加载对话框而不刷新页面时间戳不起作用
这是我的代码
<asp:TextBox runat="server" ReadOnly="true" CssClass="form-control timepicker" ClientIDMode="Static" ID="txtTime" />
$(document).ready(function () {
$("#txtTime").timepicker({
twentyFour: false, title:'Time', showSeconds: false
});
});
答案 0 :(得分:0)
由于您的问题本身可能不太明确,我会尝试提供两种可能解决您问题的方案。
如果要替换DOM中的元素......
如果现有元素被替换或删除并重新添加到DOM,您需要确保重新连接时间戳函数以定位该元素的最新实例。 DOM
// Open your dialog here and re-write your elements
// This will target the new element that should now be present in the DOM
$("#txtTime").timepicker({ twentyFour: false, title:'Time', showSeconds: false });
如果不知道如何显示或处理对话框及其内容的确切细节,可能很难确定处理此问题的最佳方法,但每次显式实例化选择器应确保它按预期工作。
如果您实际上是在发布页面并重新加载...
在您提交表单或刷新页面的情况下,值得注意的是您的时间戳在此过程中不会持久存在,并且需要在页面最初加载时重新实例化:
$(function(){
// This will ensure that when the page loads, your timepicker works
$('#txtTime').timepicker({ ... });
});