[英]Call onChange method in AJAX call
我有一個下拉列表,並使用從第一個下拉列表中選擇的值制作另一個下拉列表。
<s:select name="selectedList" list="list" listKey="name" listValue="name"
onchange="showList(this);return false;"/>
<s:url id="server_url" action="cls/ListAction"/>
<sx:div showLoadingText="false" id="details" href="ListAction" theme="ajax"
listenTopics="show_server_list" formId="config_frm"><sx:div>
並得出ajax jsp:
<s:select name="selectedApplication"
list="applications" listKey="name"
listValue="name" onchange="javascript:hideFilterSection();"/>
這里我有onchange方法hideFilterSection,這不是在調用...
所以我有兩個下拉菜單,first和second(ajax),根據第二個下拉菜單值,我需要在jsp中隱藏一些東西,但是第二個下拉菜單onchange沒有調用,請讓我知道如何實現
提前致謝
首先,sx:標記在IE 10或11中不起作用。如果您仍想在IE 10+中使用它,則需要具有meta http-equiv="X-UA-Compatible" content="IE=9"
在標頭中,並且必須是標頭中的第一個meta標簽。 它將告訴IE使用IE 9兼容模式。
其次,確保包含或與hideFilterSection()
或hideFilterSection()
相關的js文件在查詢頁面中,而不在ajax結果頁面中。
最后但並非最不重要的一點是,我在上面找不到任何錯誤。 請檢查您的js函數及其參考或您使用的IE版本。
我建議您避免使用舊的,有故障的內置Dojo版本,而遷移到Struts2-jQuery插件,甚至最好遷移到原始jQuery。
但是要問的是,您缺少executeScripts
參數,默認情況下為false
。
從文檔中 :
executeScripts :將執行獲取的內容中的Javascript代碼
這應該工作:
<sx:div executeScripts = "true"
showLoadingText = "false"
id = "details"
href = "ListAction"
theme = "ajax"
listenTopics = "show_server_list"
formId = "config_frm" >
</sx:div>
請注意,您需要設置separateScripts
以false
(默認為true
),訪問從結果JSP在主JSP定義的JavaScript函數,否則你就需要定義hideFilterSection()
的結果JSP中的功能,因為它們的范圍將分開。
獨立腳本:在單獨的范圍內運行腳本,每個標簽唯一
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.