2012-04-22 68 views
0

我爲一組對象分頁,每個對象都有一個按鈕,當按下它時,打開一個隱藏的div並在所有內容前面彈出div。我想要做的是在彈出的窗口中列出該對象的屬性,但我無法弄清楚如何從javascript代碼中獲取該對象。django jquery .load對象值

這裏是JavaScript:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#create").click(function(){ 
      $("#popupContact").load("/cookbook/createrecipe #createform"); 
     }); 
     $("#button1").click(function(){ 
      $("#popupContact").load(load object information for button1); 
     }); 
     $("#button2").click(function(){ 
      $("#popupContact").load(load object information for button2); 
     }); 
    }); 
</script> 

這裏是模板:

{% block content %} 
    {% autopaginate object_list 6 %} 
    <div id="object_cont"> 
      {% for object in object_list %} 
     <div id="object"> 
      <div id="button{{ forloop.counter }}">  
      <h4>{{ object.name }}</h4> 
      <h5>{{ object.author }}</h5> 
      <h5>Prep Time: {{ object.prep_time }} minutes</h5> 
      </div> 
     </div> 
    {% endfor %} 
    </div> 
    <div id="popupContact" class="popup"> 
    <a id="popupContactClose" style="cursor:pointer;float:right;">x</a> 
    </div> 
    <div id="backgroundPopup"> 
    </div> 
    {% paginate %} 
{% endblock %} 

基本上我需要一種方法來獲取嵌套在按鈕的div

感謝的對象, 小吃魚

回答

1

首先,您的標記將會導致重複的id參數「對象」,這是不合法的HTML。但是,沒有必要爲每個按鈕編寫單獨的點擊處理程序:

$('.button').click(function(){ 
    /* Do whatever with content */ 
}); 

jQuery的加載方法發出GET請求。所以,如果你需要動態地調用URL,我會建議在加載URL的按鈕div的某處添加一個錨標籤。

{% for object in object_list %} 
    <div class="object"> 
     <div class="button{{ forloop.counter }}"> 
      <a href="{% url my_view object.property %}" style="display: none;"></a> 
      <h4>{{ object.name }}</h4> 
      <h5>{{ object.author }}</h5> 
      <h5>Prep Time: {{ object.prep_time }} minutes</h5> 
     </div> 
    </div> 
{% endfor %} 

$('.button').click(function(){ 
    var content = $.load($(this).children('a:first').attr('href')); 
    /* Do whatever with content */ 
}); 

另一件事要記住的是不要用他們去哪裏不需要標題標籤,只是爲了得到你想要的表現,這就是跨越標籤和CSS是:)

。希望幫助你。

+0

這絕對有幫助。我缺少的是說我的視圖叫做配方,它通過請求傳遞,cookbook.id和recipe.id。那是什麼object.property是?感謝您的幫助 – snackerfish 2012-04-22 18:13:53

+0

也是什麼樣的東西,我可以做的內容在js 說我想獲得object.name和object.author。我在js裏做這個嗎? – snackerfish 2012-04-22 18:38:46

+0

您需要傳入必要的參數以調用視圖操作,以返回所需的內容。我不知道你的文章中的對象有哪些屬性。如果對象代表一本食譜,那麼你可以傳入cookbook.id等,這隻取決於你的實現。在您的JavaScript中,您可以遍歷DOM以從您的視圖中返回HTML中返回的所需屬性,也可以考慮將Ajax調用中的JSON與您的內容以及您需要的其他屬性一起傳回。 – Brandon 2012-04-23 02:46:13