2012-03-11 3 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 페이지 : 나는 또한 jQuery를 UI를 사용하고

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

. 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

이벤트가 바인딩 될 때 버튼이 없습니다. 당신은 eventdelegation 사용 아약스 - 성공 콜백, 또는 (더 나은)에 이벤트를 바인딩 중 하나를 원하는 :

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

자세한 것은 http://api.jquery.com/on/를 참조하십시오.

관련 문제