Works (Loads the list fine):
<s:url id="countrylist" action="lstcountryaction" />
<sj:autocompleter list="lstcountry"
listKey="idcountry" listValue="countryname" label="Country"
href="%{countrylist}" name="idcountry" />
Doesn't work (Nothing is loaded. No call is made to the action) :
<s:url id="countrylist" action="lstcountryaction" />
<sj:autocompleter selectBox="true" list="lstcountry"
listKey="idcountry" listValue="countryname" label="Country"
href="%{countrylist}" name="idcountry" />
Only difference is that the selectBox
attribute is added. What am I missing? I am using Struts 2.3.15 and Struts2 JQuery Plugin 3.6.1 (which are both fairly recent).
Thanks !!
The Struts2 jQuery
<sj:autocompleter>
widget with theselectBox=true
enabled to be able to work correctly shouldn't load data remotely. In other words the attributehref="%{countrylist}"
is a culprit of the select box is not working. These two attributes are mutually exclusive. You have to choose between two options either you use aautocompleter
as input box with remote data or as select box but without loading data remotely, because it's loaded from thevalueStack
as a normalselect
tag.You can supplement a select box with
selectBoxIcon="true"
to make the widget appear smoothly or use a corresponding jQuery theme in the header tag.Try it
An example from the struts2 jQuery plugin wiki page.