2015-05-10 72 views
3

這裏後發現ID是我的結構:jQuery的加載

Person.html

... 
<script src="../../js/site.js"></script> 
... 
<a id="findPersonById" href="javascript:void(0);" class="btn btn-primary"> 
Find person by id</a> 
... 
<div id="person-result">results div</div> 

Site.js

$(document).ready(function() { 
    privateFunction(); 
}); 
... 
$('#findPersonById').click(function() { 
    $("#person-result").load('/person/find #inside-container'); 
}); 
... 

/人/找到

<script src="../../js/site.js"></script> 
... 
<div class="container"> 
<div id="inside-container"> 
    <br/> 
    <form id="personFindByIdForm"> 
     <div class="form-group"> 
      <div class="input-group"> 
       <span class="input-group-addon">PERSON'S ID</span> 
       <input type="text" class="form-control" name="id"/> 
       <span class="input-group-btn"> 
        <button class="btn btn-default" type="submit">Find</button> 
       </span> 
      </div> 
     </div> 
    </form> 
    <div id="find-result">res-div</div> 
</div> 

所以,首先我發現#findPersonById,並在#person-result裝載/person/find #inside-container。有用。我的下一步是要找到兩個ID #personFindByIdForm#find-result。我不能這樣做,因爲如果我是對的,文檔已經被加載。我怎麼能這樣做?
第二個問題 - 如果我將任何js代碼添加到將被加載到另一個div中的div,那麼這個js代碼將運行(爲什麼它不運行)? Like:

$("#div-2").load('/any-url #div-1'); 
<div id='div-1'> 
    <script>console.log('Any JS')</script> 
</div> 

謝謝。

+1

關於你的第二個問題,這是行不通的,因爲這個腳本將負載執行。由於你的頁面已經被加載,它什麼都不做。如果它是另一種類型的腳本,如$('xxxx')。click({...}),它會 –

回答

5

您可以確保項目加載這樣:

$("#div-2").load('/any-url #div-1', function(){ 
    //here all the items loaded will be accessible 

}); 
+0

非常感謝您的回答。我懂了,它確實有效。 – IgorZ