3

I'm using the jQueryUI autocomplete() function and I can't figure out how to have my form submit when an item is selected.

I think the issue is with the select: event but I'm new with jQueryUI and can't figure out how to make this work.

Here's my code which works fine otherwise:

            <script type="text/javascript">
            $(document).ready(function() {
                $(function() {
                    $( "#search_box" ).autocomplete({
                        source: function(request, response) {
                            $.ajax({ url: "<?php echo site_url('autocomplete/suggestions'); ?>",
                            data: { term: $("#search_box").val()},
                            dataType: "json",
                            type: "POST",
                        success: function(data){
                            response(data);
                        },
                        select: function (event, ui) {
                                $(event.target).val(ui.item);
                                $('#search_form').submit();
                                return false;
                            }
                        }); 
                    },          
                    minLength: 1 
                    });
                });
            }); 
            </script>

Any assistance would be greatly appreciated!

7
  • are there any console errors? look in firebug. Commented Jul 8, 2011 at 2:53
  • also you have never accepted an answer to your questions, so people might be less eager to help you. Commented Jul 8, 2011 at 2:54
  • 1
    @tim: Your code works if copy-pasted (minus the AJAX): jsfiddle.net/uXHCQ with one tweak (ui.item.value instead of ui.item). What do you mean when you say your form doesn't submit? Commented Jul 8, 2011 at 2:58
  • nothing related to this query, any other ideas? Commented Jul 8, 2011 at 3:02
  • hi Andrew, I mean that i want the form to submit once one of the items is selected, just the standard thing like Google does... Commented Jul 8, 2011 at 3:15

3 Answers 3

4

Andrew was correct, see the fiddle he mentioned. If you switch the part with "ui.item" to "ui.item.value" the select: function() now works perfectly.

Sign up to request clarification or add additional context in comments.

Comments

0

Yes it works

Except if you expect to get the value in your server-side script in the page called by action...

For now, no way to find why auto-submit of the form after selection by mouse or by keyboard, and the $(event.target).val(ui.item.value) line, don't deliver the value in $_POST array

Comments

0

Yeah Alice is also right. You just need to add this line in your onclick function:

 $('#search_form').submit();

where search_form is the id of your form.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.