jquery-ui datepicker没有出现

时间:2013-02-28 01:58:01

标签: jquery jquery-ui datepicker

我试图用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();})
});

应单击该按钮,然后显示真实按钮。 你有解决方案??

实时代码:http://jsfiddle.net/5Ps6P/28/

4 个答案:

答案 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/