2010-01-08 25 views
8

En jQuery UI, ¿cuál es el tipo/contenido del objeto "ui" pasado a la función de devolución de llamada de muchos de los métodos de evento, y cómo lo uso?Tipo de objeto jQuery UI para el objeto "ui" pasado a la función de devolución de llamada?

Por ejemplo, la demo "selectable", el evento "selected" pasa dos parametros. "Evento" y "UI". Estoy tratando de utilizar de la siguiente manera:

$("#selectable").selectable({ 
     selected: function(event, ui) { 
     $(ui).find("input").attr('checked', true); 
     } 
    }); 

(aquí está el html :)

<ol id="selectable"> 
    <li class="ui-state-default"><input type="checkbox" value="1" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="2" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="3" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="4" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="5" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="6" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="7" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="8" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="9" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="10" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="11" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="12" /></li> 
</ol> 

Pero no está funcionando. ¿Qué estoy haciendo mal? Estoy asumiendo que el parámetro de interfaz de usuario se establece en un objeto que representa el "Li" que se ha seleccionado, pero cuando intento y lo uso no parece ser el caso ...

Example (edit example)

+0

¿Has probado si funciona con $ (event.target) .find ("input")? – Daff

+0

Eso selecciona todo, no solo el objetivo real del evento. Weird ... – cmcculloh

Respuesta

13

Por lo que entiendo, (y esto es solo por hacer observaciones y mis increíbles poderes :: tos, tos :: de inferencia) ui es un objeto o colección de los elementos que se están actuando dentro de la interfaz de usuario. Para acceder a ellos, debe elegir el que desea utilizar, en lugar de seleccionar el objeto como un todo. P.ej. en droppable, es ui.draggable o ui.droppable. En su ejemplo, ui.selected es lo que funcionaría.

$("#selectable").selectable({ 
    selected: function(event, ui) { 
     $(ui.selected).find("input").attr('checked', true); 
    } 
}); 

Espero que responda a tu pregunta.

+0

¡Absolutamente! Muchas gracias! ¡Trabajado como un encanto! Nunca lo hubiera averiguado ... – cmcculloh

+0

:: tos de tos :: - ¡genial! – digout

Cuestiones relacionadas