2
我想在同一視圖中加載不同的web2py組件,但不能同時加載。我有5個.load文件,它們具有不同場景的表單字段,這些文件由onchange select腳本動態調用。 web2py可以做到這一點嗎?web2py組件
我想在同一視圖中加載不同的web2py組件,但不能同時加載。我有5個.load文件,它們具有不同場景的表單字段,這些文件由onchange select腳本動態調用。 web2py可以做到這一點嗎?web2py組件
是的,但在這種情況下,請勿在web2py視圖中使用LOAD()
幫助程序,因爲這會生成在頁面加載時立即加載組件的Javascript。相反,創建一個div一個id,以承載組件,並讓您onchange
事件處理程序調用該函數web2py_component()
用DIV作爲目標的ID:
<div id='mycomponent'></div>
<script>
$(function() {
$('some_selector').change(function() {
web2py_component('{{=URL('default', 'mycomponent')}}', target='mycomponent');
});
});
</script>
謝謝,我想通了。現在正在工作。 1另外一個問題是,每個.load文件都必須在控制器中有一個以它命名的函數,導致我在刪除這些函數時不工作。 – samaras
.load文件只是視圖 - 它們自己不做任何事情。像任何動作一樣,組件需要控制器功能。當函數返回時,它的相關視圖(即.load文件)被執行。請注意,組件視圖文件不需要有.load擴展名。那只是一個慣例。當組件重定向時它可能很有用,因爲.load擴展將在重定向中傳遞。 – Anthony