You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by peter_smiley <pe...@hotmail.com> on 2007/08/31 14:35:54 UTC
Autocompleter JSON key/value pair to update other list
Hi,
Currently I'm using struts 2.0.9 and am trying to use the autocompleter with
a JSON key/value pair as the input for the autocompletion list.
What I would like to do is when a value is selected that the key and value
are available so that I can insert them in another dropdown select, but
currently I am only able to access the value but not the key.
Please see my code below:
<code>
<script type="text/javascript">
function appendOptionToMultiSelect(selectElementName, selectedValue,
selectedText) {
var newOption = document.createElement("option");
newOption.value = selectedValue;
newOption.text = selectedText;
newOption.selected = true;
var selectVar = document.getElementById(selectElementName);
selectVar.options[selectVar.options.length] = newOption;
}
var foo = new function() {
this.init = function() {
dojo.event.topic.subscribe("/autocompleteTopic", this,
userNameSelectCallback);
}
function userNameSelectCallback(data, type, request) {
if( type == 'valuechanged') {
if(data != null && data != '' ) {
dojo.debug(data);
dojo.debug(type);
dojo.debug(request);
// I would like to use the key and value and set them in a multi
select list
// but I don't know where the value is stored, or even if it is stored
at all
appendOptionToMultiSelect('selectedUserIds_Id', ??value??, data);
// Then would like to reset the selectedUserIds_Id combobox to nothing
// how would I do this?
}
}
}
}
foo.init();
</script>
<s:autocompleter name="personNamePrefix"
id="personNamePrefixId"
href="../PersonNameAutocompleter.action"
theme="ajax"
loadOnTextChange="true"
loadMinimumCount="3"
autoComplete="false"
showDownArrow="true"
cssStyle="width: 400px;"
notifyTopics="/autocompleteTopic"
forceValidOption="true"/>
<select id="selectedUserIds_Id" name="contestUserIds" multiple="multiple">
<option>Contest Participants</option>
</select>
</code>
Any help would be greatly appreciated.
Cheers
Peter
--
View this message in context: http://www.nabble.com/Autocompleter-JSON-key-value-pair-to-update-other-list-tf4359933.html#a12425633
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: Autocompleter JSON key/value pair to update other list
Posted by Musachy Barroso <mu...@gmail.com>.
See if this helps:
http://www.mail-archive.com/user@struts.apache.org/msg61657.html
musachy
On 8/31/07, peter_smiley <pe...@hotmail.com> wrote:
>
> Hi,
>
> Currently I'm using struts 2.0.9 and am trying to use the autocompleter with
> a JSON key/value pair as the input for the autocompletion list.
> What I would like to do is when a value is selected that the key and value
> are available so that I can insert them in another dropdown select, but
> currently I am only able to access the value but not the key.
> Please see my code below:
>
> <code>
> <script type="text/javascript">
>
> function appendOptionToMultiSelect(selectElementName, selectedValue,
> selectedText) {
> var newOption = document.createElement("option");
> newOption.value = selectedValue;
> newOption.text = selectedText;
> newOption.selected = true;
> var selectVar = document.getElementById(selectElementName);
> selectVar.options[selectVar.options.length] = newOption;
> }
>
> var foo = new function() {
> this.init = function() {
> dojo.event.topic.subscribe("/autocompleteTopic", this,
> userNameSelectCallback);
> }
>
> function userNameSelectCallback(data, type, request) {
>
> if( type == 'valuechanged') {
> if(data != null && data != '' ) {
> dojo.debug(data);
> dojo.debug(type);
> dojo.debug(request);
> // I would like to use the key and value and set them in a multi
> select list
> // but I don't know where the value is stored, or even if it is stored
> at all
> appendOptionToMultiSelect('selectedUserIds_Id', ??value??, data);
> // Then would like to reset the selectedUserIds_Id combobox to nothing
> // how would I do this?
> }
> }
> }
> }
> foo.init();
> </script>
>
> <s:autocompleter name="personNamePrefix"
> id="personNamePrefixId"
> href="../PersonNameAutocompleter.action"
> theme="ajax"
> loadOnTextChange="true"
> loadMinimumCount="3"
> autoComplete="false"
> showDownArrow="true"
> cssStyle="width: 400px;"
> notifyTopics="/autocompleteTopic"
> forceValidOption="true"/>
>
> <select id="selectedUserIds_Id" name="contestUserIds" multiple="multiple">
> <option>Contest Participants</option>
> </select>
>
> </code>
>
> Any help would be greatly appreciated.
>
> Cheers
> Peter
> --
> View this message in context: http://www.nabble.com/Autocompleter-JSON-key-value-pair-to-update-other-list-tf4359933.html#a12425633
> Sent from the Struts - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
--
"Hey you! Would you help me to carry the stone?" Pink Floyd
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org