[eluser]zrowcrypt[/eluser]
My autocomplete runs perfect now, but after the selected value gets added to a div, my text box is not getting cleared. I tried using $("#to").val('') everywhr to clear it out but no success. It displays item.value of the selected item which ideally should be cleared on select. Snippet below. Please help.
HTML:
=====
<div id="formWrap">
<form id="messageForm" action="#">
<fieldset>
<span>Invite</span>
<label id="toLabel">To:</label>
<div id="friends" class="ui-helper-clearfix">
<input id="to" type="text">
</div>
<button type="button" id="cancel">Cancel</button>
<button type="submit" id="send">Send</button>
</fieldset>
</form>
</div>
JQUERY:
========
$("#to").autocomplete({
//define callback to format results
source: function(req, add)
{
$.ajax({
url: "<?php echo site_url('ajax/mylist');?>",
dataType: "json",
type: "POST",
data: req,
success: function(data)
{
var suggestions = [];
$.each(data, function(entryIndex, entry){
suggestions.push({ 'label': entry.label, 'value' : entry.value});
});
add(suggestions);
}
});
},
//define select handler
select: function(e, ui) {
//create formatted friend
var friend = ui.item.label,
span = $("<span>").text(friend),
a = $("<a>").addClass("remove").attr({href: "[removed]",title: "Remove "}).text("x").appendTo(span);
//add friend to friend div
span.insertBefore("#to");
},
//define select handler
change: function(event,ui) {
//prevent 'to' field being updated and correct position
$("#to").val('').css("top", 2);
}
});
//add click handler to friends div
$("#friends").click(function(){
//focus 'to' field
$("#to").focus();
});
//add live handler for clicks on remove links
$(".remove", document.getElementById("friends")).live("click", function(){
//remove current friend
$(this).parent().remove();
//correct 'to' field position
if($("#friends span").length === 0) {
$("#to").css("top", 0);
}
});
});
MODEL:
======
$return_arr[] = array("value" => $user_id, "label" => $username);
return $return_arr;
CONTROLLER:
==========
echo json_encode(...model returned value...)