2012-03-11 26 views
0

jQuery AJAXで別のページからボタンを受け取ったページを作成しましたが、このボタンをクリックしても何も起こりません。コード:jQueryでDOMの要素を選択できません

$(function() { 
    //$("#Menu ul li").click(function() { alert("ok"); }); 

    $("a").button(); 

    $("#Menu ul li:nth-child(2)").click(function() { 
     $("#ajaxLoader").fadeIn('slow'); 
     $.ajax({ 
      url: "CreateDataBase.htm", 
      type: "GET", 
      dataType: "html", 
      success: function (data) { 
       $("#ajaxLoader").fadeOut('slow'); 
       $("#Sample").html("").append(data).css("textAlign", "center").css("paddingTop","30px") ; 
       $("a").button(); 
      } 
     }); 
    }); 

    $("#Sample input:submit").click(function() { alert("Ok"); }); 
}); 

createdbのページ:

<a id="CreateDB">Create a Database</a> 

また、私はjQueryのUIを使用しています。 code in snipt.org

+1

バインディングを実行するときにボタンは存在しますか?そうでない場合は、デリゲートする(ドキュメントを読む)on()のバージョンを使用するか、イベントをボタンにバインドしてからDOMに挿入する必要があります。 – Corbin

+0

「*別のページからボタンを受け取りますか?」とはどういう意味ですか?どのクリックを参照していますか?ここでは3つのクリックハンドラがあります。 – Joseph

答えて

0

jQuery APIでライブメソッドを使用してみてください。次のようなもの

$("#Sample input:submit").live("click", function(){ alert("Ok"); });  
+3

live()は廃止されています。古いバージョンのjQueryを明示的に言及していない限り、おそらくon()を使うべきです。 – Corbin

0

イベントがバインドされている時点でボタンはありません。あなたは、Ajax-成功 - コールバックでイベントをバインドする、または(より良い)eventdelegationを使用するかしたい :

$('body').on('click', "#Sample input:submit", function() { alert("Ok"); }); 

は詳細についてはhttp://api.jquery.com/on/を参照してください。

関連する問題