0

jspページには、Struts2アクションから値を取得するselect Inputがあり、Struts2イテレータータグを使用して値を取得しています。

<select id="package-type-input" name="packageTypeId">
    <gs:iterator var="package" value="" id="test-iterator">
       <option value='<gs:property value="#package.id"/>'  
       <gs:property value="#package.packagename"/></option>
    </gs:iterator>
</select>

struts2アクションからListpackagesListとして値を取得しています。以下の行を使用して、これらの値をイテレータに追加しようとしています。しかし、それは機能していません

$("#test-iterator").val(packageList). 

ajax呼び出しは

_getAccountDetails: function () {
    var self = this;
    var organizationId = self.id;
    $.ajax({
        type: "POST",
        url: self.url.getOrgPackageDetails,
        dataType: 'json',
        traditional: true,
        data: "organizationId=" + organizationId,
        success: function (response) {
            self._setData(response.data,response.packageList);
        },
        error: function (response) {}
    });
},

response.packageListは、Java配列リストのjsonified形式です。setDataメソッドは、response.dataからのデータをそれぞれのフィールドに設定します。

_setData: function (data, packageList) {
    var self = this;
    self.dom.currentPackageType.val(data.CurrentPackage);
    self.dom.currentUsersLimit.val(data.Users);
    self.dom.currentEntityLimit.val(data.Entities);
    self.dom.CurrentRenewalDate.val(moment(data.RenewDate).calendar());
    self.dom.currentQEntityLimit.val(data.QEntity);
    self._bindGUIEvents()
},
4

1 に答える 1

1

s2 select タグで簡単にできます。ここでは iterator タグは必要ありません

<gs:select
       id="package-type-input" 
       name="packageTypeId"
       list="packageList"
       listKey="id"
       listValue="packagename"
/>

選択タグの説明を見てください

また、疑問がある場合はいつでもタグ リファレンスに従ってください。

編集した投稿について:_setData関数内

$.each(packageList, function(i,package){
    var option = $("<option value="+package.id+">"+package.packagename+"</option>");
    $("#package-type-input").append(option);
});
于 2012-06-18T09:51:13.590 に答える