我試圖讓一些使用jQuery的Django運行AJAX。問題是,我試圖改變的元素ID沒有設置,它是一個Django模板變量,所以它對錶中的每個元素都是不同的,但我想用AJAX來更改該元素。我通過simplejson將Django視圖中的字典傳遞給JavaScript,相關對象是ID和模型(不是真正的變量名稱,只是想讓我明白我在做什麼)。一些僞代碼(第三行,這樣寫巨蟒,因爲我不知道如何做到這一點在JavaScript):可以將一個變量作爲javascript中的元素ID傳遞
var quantity_update = function(msg, elem) {
var response_obj = eval('(' + msg + ')');
var newtotal = document.getElementById("%s, %s"); % (response_obj.id, response_obj.model)
subtotal.innerHTML = "<td>"+response_obj.subtotal+"</td>";
是這樣的可能,如果又如何?
然後我應該能夠得到這樣的id:var newtotal = document.getElementById(id);也許。使用eval是因爲有時我在字符串中傳遞字符串而不是字典 – Christopher
是的,包含字符串和字符串字符串的變量是完全可以互換的。至於錯誤,您可以嘗試讓服務器通過HTTP響應代碼發出信號。這可以在客戶端進行檢測,因此您可以根據不同情況執行不同的操作。 – hugomg
我想這根本不是問題。我用join()做了類似的事情,得到了相同的結果,這個例子中的行應該是newtotal.innerHTML,但是任何小計(在我的實際代碼中都是正確的)會返回爲null。 – Christopher