Reputation: 24305
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!
Upvotes: 3
Views: 5713
Reputation: 1898
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.
Upvotes: 0
Reputation: 1
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
Upvotes: 0
Reputation: 24305
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.
Upvotes: 4