我有一個動態生成的表單,我從異步AJAX調用中獲得,並且我在JSON對象中提供了一些設置。我想針對一個字段專門用jQuery,所以我加載JSON數據到一個JS變量,它的工作:根據JSON數據使用jQuery定位元素
var jsonData = {{response.write(session.j_jsondata, escape=False)}};
/*
I'm using Web2Py, so the part between the double curly braces is equal to:
{'fields': [{'required': 'true', 'type': 'mtext', 'name': 'desc'}]}
*/
的數據被正確地加載到變量,但後來當我想爲目標的東西從jsonData.fields名稱[somenumber] .NAME這是行不通的。我已經嘗試過這樣的:
jQuery("form [name="+jsonData['fields'][i]['name']+"]")
我沒有得到任何錯誤。任何想法,爲什麼它沒有針對預期的元素?謝謝!
編輯: 我試着改變了一下結構。相反,使用的名字,我選擇的ID(我更新的模板視圖以及OFC),並切換到
jQuery("#"+jsonData['fields'][i]['name'])
,但仍沒有雪茄。它可能有一些問題,因爲該字段是在AJAX調用後生成的,但這很奇怪,因爲腳本是在生成表單後調用的。所以發生的最後一件事就是執行這個腳本,它的目標是表單元素,但它不起作用。巫術。
「我」具有正確的價值嗎?由於您不知道(我假設)選擇器是否正確生成,請設置斷點並期望變量。要了解如何做到這一點(如果您還沒有這樣做),請查看http://www.netmagazine.com/tutorials/javascript-debugging-beginners。 – 2013-02-26 10:43:29
@FelixKling是的,我們可以說,我= 0,這不是問題 - 當我使用特定的元素ID時 - 一切正常 - 問題出現在jQuery中(「form [name =」+ jsonData ['fields'] [ i] ['name'] +「]」)但是我不知道在哪裏:( – Dropout 2013-02-26 10:56:56
正如我所說的,調試!我們不能運行代碼,所以我們不能爲你做這些。調用'console.log(「form [name =「+ jsonData ['fields'] [i] ['name'] +」]「)'就在選擇之前,看看輸出是什麼,選擇器是否正確?該表單存在(因爲它是通過Ajax加載的)? – 2013-02-26 10:58:06