jQuery的。在动态加载的内容上绑定插件的实例化

时间:2015-09-18 17:06:19

标签: javascript jquery html dom

在页面上动态放置的div标签中选择ID时出现问题。

这是一个日期字段,当用户专注于该字段时,我希望显示一个日期选择器。我想,我正在尝试设置一个插件,而不是做任何其他类型的jQuery事件,这是我的问题。

所以这是当用户点击“日历”中的几个单选按钮之一时放置在页面上的动态加载的内容。

$("#s10").click(function(){
    $("#S_Date").html('<input type="text" name="Start_Date" id="Start_Date" value="2016-05-24" />2016-05-24');

#S_Date是文档加载时加载的父div ID。

我正在使用“PickMeUp”datepicker插件。

据我所知,我需要使用on()事件处理程序,但我似乎无法将其绑定到#Start_Date

这是我尝试调用它的最新尝试:

var pickitup = $("#Start_Date").pickmeup({format  : 'Y-m-d'});
$("#S_Date").on('focus', "#Start_Date", function(){pickitup});

定义了挑选,我也尝试过:

$("#S_Date").on('focus', "#Start_Date", pickitup);

$("#S_Date").on('focus', "#Start_Date", function(){pickmeup({format : 'Y-m-d'})});pickmeup is not defined错误而失败。

想点什么?

1 个答案:

答案 0 :(得分:0)

所以,如果我理解你在做什么,你想在该点击事件中将一些html插入给定元素,然后将日期选择器功能应用于它?

$("#s10").on("click", function() { //when the element is clicked...
  //create an input with the appropriate attributes
  var picker = $("<input />", { type: "text", name: "Start_Date", value: "2016-05-24" }); 
  //append it to the desired element(s)
  $("#S_Date").append(picker);
  //run the plugin on it
  picker.pickmeup({format: 'Y-m-d'});
});

这是一个工作(简单)小提琴https://jsfiddle.net/s6vu0rnq/

你得到的未定义错误是因为“pickmeup”是jquery原型的属性,但是你试图从全局范围调用它。

另外,“。click”只是“。on”的别名,所以你可以使用。