I'm on in.
I'll send you the samples latter in the day.
cheers,
f(t)
On 10/11/07, German Morales <[EMAIL PROTECTED]> wrote:
>
> Hallo,
>
> With some luck you will get the usage examples later. (Francisco?)
>
> German
>
> It seems that Oliver Lieven wrote:
> >
> > Hi German,
> >
> > thanks for your offer, would be great if you could send me your code.
> >
> > BTW, in the meantime I got my 2nd approach working, too. I've got the
> two
> > separate textfields, each of them showing the "zipcode - city"
> > autocomplete
> > lists when data is entered. After selecting from the autocomplete list,
> > both
> > fields are updated correctly!
> >
> > Regards,
> > Oliver
> >
> >
> >
> > German Morales wrote:
> >>
> >> Hi again,
> >>
> >> Yes, we have something similar to what you describe in your point 2.
> >>
> >> The only difference is that we have other structure. What we have is
> the
> >> following:
> >>
> >> -Each locality has an internal ID, a Zip Code, a City and a (swiss)
> >> kanton.
> >>
> >> -in the html we have a Hidden, which stores the internal ID, and 1
> >> (only)
> >> TextField, which shows Zip Code + City + Canton (For example: "8052
> >> Seebach, ZH").
> >>
> >> -then we have an extension as you mention (AutoCompleteTextField,
> >> Renderer, Behavior, JavaScript), which is already working with this
> >> schema. It also contains many fixes over the original
> >> autocompletetextfield (perhaps originated from the extra behavior?).
> >>
> >> If this approach is good for you, i can send you our version, plus some
> >> example usages.
> >>
> >> Regards,
> >>
> >> German
> >>
> >>
> >> It seems that Oliver Lieven wrote:
> >>>
> >>> Hi,
> >>>
> >>> thanks for your answer.
> >>>
> >>> No, solution didn't work as supposed, mainly because the AutoComplete
> >>> fills
> >>> the input field in the browser with the data (in my case either
> zipcode
> >>> or
> >>> city), but doesn't update the model.
> >>>
> >>> To update the model I have to attach some Ajax...Behavior, but this is
> >>> called with the data put into the textfield (i.e. either the selected
> >>> zipcode put into the zipcode field by the autocomplete, *or* the
> >>> selected
> >>> city from the city field). In the Ajax...Behavior's onUpdate()-method
> >>> neither the city nor the zipcode are enough to determine the value to
> >>> use
> >>> to
> >>> update the related field.
> >>>
> >>> So I had two other ideas:
> >>>
> >>> 1. in my autocomplete-list I set the "textvalue" to the id of a
> >>> "zipcode-city" combination. When the user selects from the
> >>> autocomplete-list, this id is written into the corresponding
> >>> input-field.
> >>> The attached AjaxOnChangeBehavior now gets this id, determines the
> >>> zipcode-city, and updates the city and the zipcode field. This works,
> >>> but
> >>> looks a little strange to the user (e.g. selection of "71254
> Ditzingen"
> >>> from
> >>> autocomplete-list writes the id ("1223") into the zipcode-field, this
> >>> issues
> >>> the Ajax-call, which updates both fields with the correct data, i.e.
> >>> zipcode=71254, city=Ditzingen). As I said, works but not pretty.
> >>>
> >>> 2. So I'm currently extended the AutoCompleteTextField, ...Renderer,
> >>> ...Behavior, ..JavaScript to accept a second, "related" field in its
> >>> constructor. I then attach two attributes to the autocomplete-list
> >>> entries
> >>> (say textvalue and textvalue2), and modified the JavaScript to update
> >>> both
> >>> fields. This seems to me the best approach to my specific problem, and
> >>> seems
> >>> to work as intended.
> >>>
> >>> Hope my answer was not to confusing...
> >>> regards,
> >>> Oliver
> >>>
> >>>
> >>> German Morales wrote:
> >>>>
> >>>> Hi,
> >>>>
> >>>> Sorry, i'm a little late with my response.
> >>>> Did the suggestion by Nino work?
> >>>>
> >>>> If it works, i would like to know more details about it.
> >>>>
> >>>> If not, we already had a somehow similar problem (Swiss addresses),
> >>>> and
> >>>> we
> >>>> have a different solution already working. Perhaps it can help you
> >>>> too.
> >>>>
> >>>> Regards,
> >>>>
> >>>> German
> >>>>
> >>>>
> >>>> It seems that Nino Saturnino Martinez Vazquez Wael wrote:
> >>>>> NP, waiting with excitement to hear if it works:)
> >>>>>
> >>>>> Oliver Lieven wrote:
> >>>>>> Thanks allot for your efforts and detailed answer! Sounds good,
> I'll
> >>>>>> give it
> >>>>>> a try.
> >>>>>>
> >>>>>>
> >>>>>> Nino.Martinez wrote:
> >>>>>>
> >>>>>>> No what I meant was that when a user selects something in one of
> >>>>>>> your
> >>>>>>> auto complete fields they'll automatickly select something in
> >>>>>>> both,
> >>>>>>> might have been a little scares on information:
> >>>>>>>
> >>>>>>> IModel commonModel=new Model();
> >>>>>>>
> >>>>>>>
> >>>>>>> AbstractModel() Text=new AbstractModel(){
> >>>>>>>
> >>>>>>> getObject{
> >>>>>>> return commonModel.getObject.Text;
> >>>>>>> }
> >>>>>>> setObject(obj){
> >>>>>>> commonModel.setObject(obj)
> >>>>>>> }
> >>>>>>>
> >>>>>>> }
> >>>>>>>
> >>>>>>>
> >>>>>>> AbstractModel() name=new AbstractModel(){
> >>>>>>>
> >>>>>>> getObject{
> >>>>>>> return commonModel.getObject.name;
> >>>>>>> }
> >>>>>>> setObject(obj){
> >>>>>>> commonModel.setObject(obj)
> >>>>>>> }
> >>>>>>>
> >>>>>>> }
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> AutoCompleteTextField phoneName = new AutoCompleteTextField(
> >>>>>>> "phoneName", name,
> >>>>>>> new BestEffortRendererAutoCompleteRenderer()) {
> >>>>>>> @Override
> >>>>>>> protected Iterator getChoices(String input) {
> >>>>>>>
> >>>>>>> return findItems(input);
> >>>>>>> }
> >>>>>>> };
> >>>>>>>
> >>>>>>>
> >>>>>>> AutoCompleteTextField phoneSeries = new AutoCompleteTextField(
> >>>>>>> "phoneName", text,
> >>>>>>> new BestEffortRendererAutoCompleteRenderer()) {
> >>>>>>> @Override
> >>>>>>> protected Iterator getChoices(String input) {
> >>>>>>>
> >>>>>>> return findItems(input);
> >>>>>>> }
> >>>>>>> };
> >>>>>>>
> >>>>>>> And ofcourse you need to add the other completefield to the
> >>>>>>> ajaxresponse...
> >>>>>>>
> >>>>>>> Hope this pseudo code works a little better... Was on my way out
> >>>>>>> the
> >>>>>>> door before...
> >>>>>>>
> >>>>>>>
> >>>>>>> Oliver Lieven wrote:
> >>>>>>>
> >>>>>>>> Hi Nino,
> >>>>>>>> thanks for your fast reply. Yes, a shared PropertyModel would
> help
> >>>>>>>> to
> >>>>>>>> keep
> >>>>>>>> both fields synchronized.
> >>>>>>>>
> >>>>>>>> I still can't see how this could help me to determine the value
> >>>>>>>> selected
> >>>>>>>> by
> >>>>>>>> the user.
> >>>>>>>> The AutoComplete works like
> >>>>>>>>
> >>>>>>>> 1. getChoices() is called to populate the autocomplete list with
> >>>>>>>> my
> >>>>>>>> "zipcode
> >>>>>>>> - city" options
> >>>>>>>> 2. when user selects a value from the autocomplete list, the
> >>>>>>>> corresponding
> >>>>>>>> field is set with the "textvalue" (e.g. the 'city' field is
> filled
> >>>>>>>> with
> >>>>>>>> the
> >>>>>>>> city's name)
> >>>>>>>> 3. because of this update, the city-field's
> >>>>>>>> AjaxFormComponentUpdatingBehavior.onUpdate() is called
> >>>>>>>> 4. in onUpdate() the getConvertedInput() method returns the city
> >>>>>>>> name,
> >>>>>>>> which
> >>>>>>>> is insufficient to determine the corresponding zipcode (because
> of
> >>>>>>>> the
> >>>>>>>> n:1
> >>>>>>>> relation (city may have many zipcodes)).
> >>>>>>>>
> >>>>>>>> So I'm still looking for a way to determine the exact combination
> >>>>>>>> selected
> >>>>>>>> by the user...
> >>>>>>>>
> >>>>>>>> regards,
> >>>>>>>> Oliver
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Nino.Martinez wrote:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> Quick answer, why not use property models and use both in the
> >>>>>>>>> fiields
> >>>>>>>>> you mention?
> >>>>>>>>>
> >>>>>>>>> Oliver Lieven wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> Hi,
> >>>>>>>>>>
> >>>>>>>>>> in an address edit panel I've got the two AutoCompleteText
> >>>>>>>>>> fields
> >>>>>>>>>> 'zipcode'
> >>>>>>>>>> and 'city'.
> >>>>>>>>>>
> >>>>>>>>>> When a users begins typing into the zipcode-field, the
> >>>>>>>>>> autocomplete
> >>>>>>>>>> shows
> >>>>>>>>>> up
> >>>>>>>>>> and offers valid "zipcode - city" combinations. After selecting
> >>>>>>>>>> a
> >>>>>>>>>> value
> >>>>>>>>>> from
> >>>>>>>>>> the autocomplete the 'zipcode' is set. Same for 'city' field,
> >>>>>>>>>> i.e.
> >>>>>>>>>> after
> >>>>>>>>>> selecting a "zipcode - city" from the city's autocomplete the
> >>>>>>>>>> "city"-field
> >>>>>>>>>> is set accordingly.
> >>>>>>>>>> (Thanks for the great autocomplete-support in Wicket which
> >>>>>>>>>> allows
> >>>>>>>>>> separation
> >>>>>>>>>> of displayvalue and textvalue!)
> >>>>>>>>>>
> >>>>>>>>>> Now to my question: after selection of a "zipcode - city"
> >>>>>>>>>> combination
> >>>>>>>>>> from
> >>>>>>>>>> either autocomplete list I would like to set both fields
> >>>>>>>>>> (zipcode
> >>>>>>>>>> and
> >>>>>>>>>> city).
> >>>>>>>>>> I already attached an AjaxFormComponentUpdatingBehavior which
> >>>>>>>>>> gets
> >>>>>>>>>> called
> >>>>>>>>>> after a selection in the autocomplete list, but it just gets
> the
> >>>>>>>>>> zipcode/city currently set.
> >>>>>>>>>> Since the zipcode-city relation is 1:n (e.g. Berlin has many
> >>>>>>>>>> zipcodes)
> >>>>>>>>>> I'm
> >>>>>>>>>> wondering if there is a way to access the full selected value
> >>>>>>>>>> (and
> >>>>>>>>>> not
> >>>>>>>>>> only
> >>>>>>>>>> the AbstractAutoCompleteTextRenderer.textvalue set).
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Thanks for any help and tips!
> >>>>>>>>>> Oliver
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>> ------------------------------------------------------------
> ---------
> >>>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>> ------------------------------------------------------------
> ---------
> >>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> ------------------------------------------------------------
> ---------
> >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>
> >>>>
> >>>>
> >>>
> >>> --
> >>> View this message in context:
> >>> http://www.nabble.com/AutoCompleteTextfield---how-to-populat
> e-two-input-fields-tf4592192.html#a13158414
> >>> Sent from the Wicket - User mailing list archive at Nabble.com.
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >>
> >
> > --
> > View this message in context:
> > http://www.nabble.com/AutoCompleteTextfield---how-to-populat
> e-two-input-fields-tf4592192.html#a13166291
> > Sent from the Wicket - User mailing list archive at Nabble.com.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>