Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Struts2 JQuery Plugin AutoCompleter does not work when selectBox="true" attribute is added

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 !!

like image 843
Do Will Avatar asked Mar 04 '26 09:03

Do Will


1 Answers

The Struts2 jQuery <sj:autocompleter> widget with the selectBox=true enabled to be able to work correctly shouldn't load data remotely. In other words the attribute href="%{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 a autocompleter as input box with remote data or as select box but without loading data remotely, because it's loaded from the valueStack as a normal select 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

<sj:autocompleter selectBox="true" selectBoxIcon="true" list="lstcountry"
    listKey="idcountry" listValue="countryname" label="Country"
    name="idcountry" /> 

An example from the struts2 jQuery plugin wiki page.

like image 166
Roman C Avatar answered Mar 05 '26 23:03

Roman C



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!