0

我试图用 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

4 回答 4

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/

于 2013-02-28T02:05:52.157 回答
0

尝试将您的代码更改为:

编辑:

$(document).ready(function(){
    $("a").click(function(){
        $.ajax({
            url:"data.php",
            success:function(data){
                var newInput = $(data);
                newInput.datepicker();
                $("div").html(newInput);
            }
        });
    });
})
于 2013-02-28T02:05:15.357 回答
0
This should work :
$(document).ready(function(){

$("a").click(function(){
    $("div").html("<input id='datepicker' type='text'>");
     $("#datepicker").datepicker();
});



 })

但是我建议隐藏输入并在单击链接时显示它。这将确保您的事件在创建 DOC 时绑定到输入。

于 2013-02-28T02:05:16.837 回答
-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/

于 2013-02-28T02:07:45.423 回答