簡體   English   中英

在AJAX調用中調用onChange方法

[英]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>  

請注意,您需要設置separateScriptsfalse (默認為true ),訪問從結果JSP在主JSP定義的JavaScript函數,否則你就需要定義hideFilterSection()的結果JSP中的功能,因為它們的范圍將分開。

獨立腳本:在單獨的范圍內運行腳本,每個標簽唯一

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM