2

selectタグへの応答の読み込みに問題があります。最初のものに基づいて選択ボックスを変更しようとしています。

このために、jQuery Ajax タグで Struts 2 を使用しています。必要なものはすべて揃っていると思いますが、応答はオプションにタグ付けされていませんが、ブラウザーのビュー ソースの JS で結果を確認できます。

以下は私がJSPで書いたコードです。

これは私の最初の選択ボックスです:

<div class="type-text">
  <s:url id="remoteurl" action="getGlobalManufacturerJquery.action?mainId=title&subId=Add Title&selectedManufacturer=strUser&gameFileID=%{gameFileID}&gameFileName=%{gameFileName}&titleName=%{titleName}&titleID=%{titleID}"/>
                <sj:select 
                    href="%{remoteurl}" 
                    formIds="TitleGameHandsetsForm"
                    id="manufacturerName%{titleGameFilemappingID}" 
                    onChangeTopics="reloadsecondlist" 
                     name="manufacturerName%{titleGameFilemappingID}"
                    list="%{manufacturers}" 
                     listKey="%{globalManufacturer}"
                    
                    listValue="%{globalManufacturer}" 
                    emptyOption="true" 
                    headerKey="-1" 
                    headerValue="Select Global Manufacturer" 
                />
          </div>

以下は、最初の値を変更する必要がある2番目の選択ボックスです

 <div class="type-text">        
                 <s:url id="remoteurl" action="getGlobalModelJquery.action?mainId=title&subId=Add Title&selectedManufacturer=strUser&gameFileID=%{gameFileID}&gameFileName=%{gameFileName}&titleName=%{titleName}&titleID=%{titleID}"/>
                <sj:select 
                     
                    id="globalModel%{titleGameFilemappingID}" 
                    formIds="TitleGameHandsetsForm" 
                    reloadTopics="reloadsecondlist" 
                    name="modelFromSelect" 
                    list="%{modelList}" 
                    emptyOption="true" 
                    headerKey="-1" 
                    headerValue="Select Global Model"
                />
                </div>

また、JSP には利用可能なリストがありません。しかし、サーバー コードは、選択ボックスの JSP に追加できない JS のソース コードで確認できる結果を取得しています。

<select name="manufacturerName77" id="manufacturerName77">
<option value=""></option>
</select>
<script type='text/javascript'>
jQuery(document).ready(function () {
    var options_manufacturerName77 = {};
    options_manufacturerName77.datatype = "json";
    options_manufacturerName77.type = 'select';
    options_manufacturerName77.emptyoption = true;
    options_manufacturerName77.headerkey = "-1";
    options_manufacturerName77.headervalue = "Select Global Manufacturer";
    **options_manufacturerName77.list = "[Acer, A Panda]";**
    options_manufacturerName77.listkey = "Acer";
    options_manufacturerName77.listvalue = "Acer";
    options_manufacturerName77.jqueryaction = "select";
    options_manufacturerName77.id = "manufacturerName77";
    options_manufacturerName77.name = "manufacturerName77";
    options_manufacturerName77.oncha = "reloadsecondlist";
    options_manufacturerName77.href = "/ci/getGlobalManufacturerJquery.action";
    options_manufacturerName77.hrefparameter = "mainId=title&subId=Add Title&selectedManufacturer=strUser&gameFileID=3&gameFileName=dcdscd&titleName=Bubble boom chalenge&titleID=11";
    options_manufacturerName77.formids = "TitleGameHandsetsForm";
  

jQuery.struts2_jquery.bind(jQuery('#manufacturerName77'),options_manufacturerName77);

 });
</script>
          </div>
4

1 に答える 1

0

URLが正しく記述されていない場合、リストのJSONデータを返すアクションによって何も返されません。次のようなURLを書く必要があります

<s:url var="remoteurl" action="getGlobalManufacturerJquery">
  <s:param name="mainId" value="title"/>
  <s:param name="subId" value="Add Title"/>
  <s:param name="selectedManufacturer" value="strUser"/>
  <s:param name="gameFileID" value="%{gameFileID}"/>
  <s:param name="gameFileName" value="%{gameFileName}"/>
  <s:param name="titleName" value="%{titleName}"/>
  <s:param name="titleID" value="%{titleID}"/>
</s:url>
于 2013-03-23T20:39:32.460 に答える