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 に答える