我正在使用load方法來替換一個div的內容。django ajax load() - 可能更新兩個或更多的div,部分返回的django視圖上下文?
$('#ajax_tbody_result').html(' ').load(url);
現在我想知道是否有可能調用的URL,得到的返回值,在我的模板他們分裂和更新兩個或更多的div。
因此,解決的辦法是從返回的django上下文中取出一些對象,將其拆分並用正確的內容更新div。這是返回的上下文:
context = {
'object_list' : contact_list_page,
'headers': headers,
'filter_by_classification_form': filter_by_classification_form,
'filter_by_address_form': filter_by_address_form,
'filter_by_company_form': filter_by_company_form,
'urlquerystring_previous_page' : urlquerystring_previous_page,
'urlquerystring_next_page' : urlquerystring_next_page,
}
編輯:解決的辦法:
分手了一個jQuery GET請求到其各部分的HTML響應,並更新html的相應部分。你可以這樣做:
$.get(url, function(results){
var table = $("table", results);
var spans = $("span.step-links", results);
//update the ajax_table_result with the return value
$('#ajax_table_result').html(table);
$('.step-links').html(spans);
}, "html");
結果對象是呈現給.html的django模板。從這個.html返回,我將我需要的東西(表格和跨度與id步驟鏈接)並更新我的頁面中的相應對象。
我認爲這是一個比django問題更多的jQuery問題。 – 2010-01-09 13:55:04
更簡單的路線可能是創建一個url-> view->模板,看起來你想要爲每個div。你可以分成兩個視圖,或者使用查詢字符串來確定在一個視圖中完成的操作。那麼你可以回到你的.load()方法並加載適當的div的相應url。 – 2010-01-09 14:01:29
是的,我想過這個。但是這會導致兩個Ajax調用,這對我來說似乎不是很整潔。 – 2010-01-09 14:18:38