jquery
  • struts2
  • jquery-selectbox
  • 2012-06-18 41 views 0 likes 
    0

    在一個jsp頁面中,我有一個Select Input從Struts2動作獲取值,並且我使用Struts2迭代器標籤來獲取值。Jquery使用Struts2 UI標籤選擇框值

    <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行爲中獲取值列表packagesList。我正在嘗試使用下面的代碼將這些值添加到迭代器中。但它不工作

    $("#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() 
    }, 
    
    +1

    我很困惑,爲什麼要這麼做時,S2選擇標籤有'listKey'併爲此 –

    +0

    定義'listValue'性能做u使用這個標籤圖書館 ?? <%@ taglib prefix =「s」uri =「/ struts-tags」%> –

    +0

    其實我是從ajax調用獲取packageList數據作爲響應。所以我想將packageList設置爲select標籤的值。 –

    回答

    1

    你可以用S2選擇標籤很容易做到這一點,在這裏不需要iterator標籤

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

    看看在select tag description

    而且,按照Tag Reference,只要你有一個疑問。

    至於你的後期編輯: 在你_setData功能

    $.each(packageList, function(i,package){ 
        var option = $("<option value="+package.id+">"+package.packagename+"</option>"); 
        $("#package-type-input").append(option); 
    }); 
    
    +0

    這一個適用於我..但如何要追加從ajax調用返回的值。說packageList是從ajax調用返回的列表..我怎麼會把它放在選擇框..任何幫助將不勝感激。 –

    +0

    你在哪種格式從ajax調用返回列表?它是JSON或XML或其他格式?如果你發佈你的ajax調用代碼,這將會很有幫助。 – anu

    +0

    在帖子中添加了ajax調用代碼。 –

    相關問題