gpt4 book ai didi

html - jQuery 日期选择器不适用于 AJAX 添加的 html 元素

转载 作者:太空狗 更新时间:2023-10-29 13:19:21 28 4
gpt4 key购买 nike

我有一个绑定(bind)到“生日”输入 html 元素的 jQuery 日期选择器函数,写在页眉中:

<script type="text/javascript">
$(function() {
$( "#birthday" ).datepicker();
});
</script>

接下来,我有一些 AJAX 功能 - 它将新的输入 html 元素添加到页面。该元素是:

<input type="text" id="birthday" value="" class="detail-textbox1" />

单击该生日 元素不会在文本字段下方弹出日期选择器。我预料到了这一点,因为该元素是在页面加载后添加的,因此它与 header 中提供的功能无关。

我怎样才能让它发挥作用?我尝试将脚本从标题移动到正文,但似乎没有任何效果。谢谢。

附言如果我在页面主体中创建一个带有 id="birthday"的输入 html 元素,everythig 将按预期工作。似乎只有通过 AJAX 添加的元素功能失调。

最佳答案

我来晚了一点,但为了彻底 - .live() 函数是 deprecated from jQuery 1.7以后 - 我想我会根据我的经验以及我从 StackOverflow 上的其他答案获得的所有帮助提供更新的解决方案!

我遇到过这样一种情况,我需要将 datepicker 功能添加到通过 AJAX 调用随机添加到 DOM 的输入字段,但我无法修改进行 AJAX 调用的脚本附加 datepicker 功能,所以我选择了新的 Shiny .on() 函数及其委托(delegate)功能:

// do this once the DOM's available...
$(function(){

// this line will add an event handler to the selected inputs, both
// current and future, whenever they are clicked...
// this is delegation at work, and you can use any containing element
// you like - I just used the "body" tag for convenience...
$("body").on("click", ".my_input_element", function(){

// as an added bonus, if you are afraid of attaching the "datepicker"
// multiple times, you can check for the "hasDatepicker" class...
if (!$(this).hasClass("hasDatepicker"))
{
$(this).datepicker();
$(this).datepicker("show");
}
});
});

我希望这对某人有所帮助,并感谢到目前为止所有的答案,这些答案让我找到了这个对我有用的解决方案! :)

关于html - jQuery 日期选择器不适用于 AJAX 添加的 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4812784/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com