2013-04-30 3 views
0

다음은JQuery와의 레이어를로드

$.ajax({ 
    type: 'GET', 
    url: '<?php echo site_url(); ?>register', 
    data: "",  
    success: function (data) { 
     $("#ldcontent").html(data); 
    } 
}); 

내가 #ldfgp

$('#ldcontent').load('<?php echo site_url(); ?>register #ldfgp'); 

내 질문에 다음과 같은 위의 코드에서 레이어를 호출 할 작업 코드 스피입니다 호출 할 수 있습니다 로딩 페이지에서 마스터 페이지까지의 레이어 (#ldfgp)는 $.ajax()입니다.

로딩 페이지에 포함 된 JavaScript를 제외하기 때문에 jquery에서로드 기능을 사용할 수 없습니다.

귀하의 제안과 도움을 매우 높이 평가하겠습니다.

+0

Whoa, [* layer *] (http://en.wikipedia.org/wiki/Layer_element)? 넷스케이프가 전화해서, 그들은 당신을 만나서 너무 기뻐할 것입니다. – Phil

+0

등록 페이지에서 ID #ldfgp로 섹션을 가져오고 싶습니까? – Sacha

+0

@phil 제 질문에 대한 대답을 명확히하십시오. u pls 설명 할 수 있을까요? – t0m

답변

1

당신은 그래서, 우리는이 같은 register.html 문서가 있다고 가정하자 일부 HTML 조각에 전체 문서를로드 한 후

$.ajax({ 
    type: 'GET', 
    url: '<?php echo site_url(); ?>register', 
    data: "",  
    success: function (data) { 
     var $fragment = $('<div/>').html(data); 
     $("#ldcontent").html($fragment.find('#ldfgp').html()); 
    } 
}); 
+0

@Vadmin IE에서 잘 작동하고 있습니다 ... Zilla. 귀하의 다른 브라우저에서 어떤 문제를 봐에 따르면? – t0m

+0

@ t0m Safari와 Mac의 Chrome에서도 테스트를 마쳤으므로이 코드는 문제가되지 않습니다. – Vadim

+0

당신의 친절한 조언을 위해 Vadim을 다시 한번 감사하십시오 – t0m

0

당신이 시도 할 수 있습니다 -

$.ajax({ 
    type: 'GET', 
    url: '<?php echo site_url(); ?>register', 
    data: "",  
    success: function (data) { 
     $("#ldcontent").html(data); 
     $("#ldcontent *").css('display','none'); 
     $("#ldcontent #ldfgp").css('display','block'); 
     $("#ldcontent #ldfgp *").css('display','block'); 
    } 
}); 
+0

감사합니다 ..하지만 실패했습니다 ... :) 아무것도 표시되지 않습니다 – t0m

+0

이 줄을 추가하십시오 - $ ("# ldcontent #ldfgp *") .css ('display', 'block'); – HADI

1

아약스 $로 인해 부하 전체 HTML 문서는 HTML을 포함> 몸, $ (데이터)가 조금 이상한 JQuery와 개체를 만드는 것입니다. 그래서 $ (data) .find 또는 $ (data) .filter를 사용하여 요소를 찾을 수 있습니다. 일부 같은 시도 할 수 있습니다 :

$.ajax({ 
type: 'GET', 
url: '<?php echo site_url(); ?>register', 
data: "",  
success: function (data) { 
    var $data=$(data); 
    var $layer=$() 
      .add($data.find('#ldfgp')) 
      .add($data.filter('#ldfgp')); 



     $('#ldcontent').html($layer); 

    } 
}); 
0

에서 관련 콘텐츠를 가져올 수 있습니다

: $ 아약스()는 ID #ldfgp으로이 방법을 요소를 잡을 수를 사용
<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
     <div id="ldfgp"> 
      <h1>Hello</h1> 
     </div> 
     <div> 
      <h1>Hello 2</h1> 
     </div> 
     <div> 
      <h1>Hello 3</h1> 
     </div> 
    </body> 
</html> 

$(document).ready(function() { 
     $.ajax({ 
       type: 'GET', 
       url: './register.html', 
       data: "", 
       success: function (data) { 
         var external = $.parseHTML(data); 
         $.each(external, function(i, e) { 
          if ($(e).attr("id") == "ldfgp") { 
           $("#ldcontent").html(e); 
           return false; 
          } 
         }); 
       } 
     }); 
    }); 

하지만 개인적으로 Vadim의 솔루션은 더 깨끗하고 명확한 .each() 반복을 필요로하지 않으므로 개인적으로 선호합니다.

+0

감사합니다 당신의 친절한 조언을위한 Fed !!! – t0m