Topic: Using AJAX / RJS for Autocomplete on Text field

I have a form for entering store items into inventory, which contains a nested form for "products" which are different variations of the store item that I need to track the quantity on, namely different sizes and colors. A store item has many products.
What I want to do is have all of the form fields for the store item auto-fill when the user types a sku in the sku input field (That way the user only has to fill in half the info for products that have known skus, and the front end store just displays store items with in-stock products.)
So, I need to observe the sku form input, send an ajax call with its value to an action that finds any store item with a similar sku and return any similar skus for autocomplete of that field. Then, if there's only one matching store item for the sku input, get that store item record and fill all of its values into the remaining store item fields. It's almost like I want to change the whole @store_item object that's passed into the form.
I've tried several things but had no luck so far, and I'm feeling lost. If someone could help me with even just autocompleting the sku that would probably help clear up my understanding. Thanks!

Here is my form:

<%= form_for(@store_item) do |f| %>
<table>
  <tr>
    <td>
      <div class="sku-field">
      <%= f.label :sku, 'Sku'  %><br/>
      <%= f.text_field :sku %> <!-- Field to observe for AJAX -->
</div>
    </td>
    <td class="name-field">
      <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
      </div>
    </td>
  </tr>
  <tr>
    <td class="description-field" colspan="2">
      <div class="field">
    <%= f.label :description %><br />
    <%= f.text_area :description %>
      </div>
    </td>

    <%= f.fields_for :products do |builder| %>
    <td class="size-field">
      <div class="field">
    <%= builder.label :size_id %><br />
    <%= builder.select :size_id, options_from_collection_for_select(Size.all, "id", "name") %>
      </div>
    </td>
    <td class="color-field">
      <div class="field">
    <%= builder.label :color_id %><br />
    <%= builder.select :color_id, options_from_collection_for_select(Color.all, "id", "name"), :id => "picker" %>
      </div>
    </td>

    <td class="qty-field">
      <div class="field">
    <%= builder.label :qty %><br />
    <%= builder.text_field :qty_in_stock %>
      </div>
    </td>
    <% end %>
  </tr>
</table>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>