Interceptar otra columna en model_auto_completer

Hola,

Cómo puedo interceptar un valor de otra columna del modelo seleccionado
con model_auto_completer plugin [1], y asignarlo a otro control
text_field. Concretamente estoy intentando programar una típica captura
de compras, dónde seleccionas el producto, tomas el último precio de
compra del mismo y llenas otro text_field.

De antemano, muchas gracias.

[1] http://model-ac.rubyforge.org/

Saludos.

Jaime Mora R.

On Jan 9, 2008, at 12:39 AM, Jaime Mora R. wrote:

Cómo puedo interceptar un valor de otra columna del modelo
seleccionado
con model_auto_completer plugin [1], y asignarlo a otro control
text_field. Concretamente estoy intentando programar una típica
captura
de compras, dónde seleccionas el producto, tomas el último precio de
compra del mismo y llenas otro text_field.

Hola Jaime. Una solucion facil es que en los LIs que envias para
autocompletar añadas un atributo ad-hoc con el precio, por ejemplo:

  • Descripcion
  • Asigna una funcion JavaScript en el hook after_update_element del
    helper que ponga el precio en su sitio cuando se haya seleccionado un
    elemento. Algo del estilo a esto:

    var price_field = $(“product_price”); # por ejemplo
    price_field.value = selected.getAttribute(“price”);

    Esta escrito sobre la marcha pero es la idea.

    – fxn

    Xavier N. wrote:

    Asigna una funcion JavaScript en el hook after_update_element del
    helper que ponga el precio en su sitio cuando se haya seleccionado un
    elemento. Algo del estilo a esto:

    var price_field = $(“product_price”); # por ejemplo
    price_field.value = selected.getAttribute(“price”);

    Esta escrito sobre la marcha pero es la idea.

    Muchas gracias Xavier. Por si alguién más le sirve, quedó así:

    #show.rhtml

    Producto:
    <%= model_auto_completer "producto[nombre]", "", "movto_item[producto_id]", "", { :after_update_element => "auto_complete_on_compras" }, { :size => 50 } %>

    #_movto_item_producto_completions.rhtml

      <% for producto in @productos %>
    • <%=h producto.nombre %>
    • <% end %>

    #application.js

    function auto_complete_on_compras(element, selected) {
    document.getElementById(“movto_item_precio”).value =
    selected.getAttribute(“precio_compra”);
    }

    Nuevamente gracias Xavier.

    Saludos.

    Jaime Mora R.