我试图用jquery-ui做一些代码 我想知道为什么它不工作
我的HTML代码是
<a>open form</a>
<div></div>
我的js代码是
$(document).ready(function(){
$("a").click(function(){
$.ajax({
url:"data.php",
success:function(data){
$("div").html(data);
}
});
});
})
$(function(){
$("input").on('click', function(){ $(this).datepicker(); });
});
和data.php包含
<input type="text" />
结果是,为什么日期选择器没有出现..?
另一个问题就像这个代码
(document).ready(function(){
$("a").click(function(){
$("div").html("<input id='datepicker'><input id='tb_submit' type='submit' value='Submit' />");
});
})
$(function(){
$("body").on('click', "input#datepicker",function(){ $(this).datepicker(); });
$("body").on('click','input#tb_submit',function(){$(this).button();})
});
应单击该按钮,然后显示真实按钮。 你有解决方案??
答案 0 :(得分:2)
试试这段代码:
$(function(){
$(document).on('click', "input",function(){ $(this).datepicker(); });
});
使用此代码:
$(document).ready(function(){
$("a").click(function(){
$("div").html("<input id='datepicker'><input id='tb_submit' type='submit' value='Submit' />");
$("input#datepicker").datepicker();
$('input#tb_submit').button();
});
})
您只需在添加后对其进行初始化,并且不需要自己使用绑定点击处理程序。
这是jsfiddle。 http://jsfiddle.net/5Ps6P/30/
答案 1 :(得分:0)
尝试将您的代码更改为:
修改强>
$(document).ready(function(){
$("a").click(function(){
$.ajax({
url:"data.php",
success:function(data){
var newInput = $(data);
newInput.datepicker();
$("div").html(newInput);
}
});
});
})
答案 2 :(得分:0)
This should work :
$(document).ready(function(){
$("a").click(function(){
$("div").html("<input id='datepicker' type='text'>");
$("#datepicker").datepicker();
});
})
但是我建议隐藏输入并在点击链接时显示输入。这将确保在创建DOC时将事件绑定到输入。
答案 3 :(得分:-1)
尝试使用live()jQuery函数来监听页面加载后插入的元素。
// listen to clicks on input elements
$('input').live('click', function() {
// apply datepicker to this input element
$(this).datepicker();
});
为与当前选择器匹配的所有元素附加事件处理程序,现在和将来。 http://api.jquery.com/live/