FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
No puedo sacar el ID de un Ajax Suggest
Hola:
Estoy utilizando esta librería para hacer ajax suggest y está bastante interesante, el asunto es que hay algo que no sé si se podrá hacer. Este es el archivo de prueba que he hecho en php, bastante sencillo por así decirlo.... Código PHP:
Gracias.... Hasta Luego .-
__________________
No todo es como parece ser... |
#2
|
|||
|
|||
No conozco esa librería pero viendo por encima los ejemplos, me imagino que el control crea un objeto por cada elemento de la lista de sugerencias, esto es, un objeto por cada
Código:
<rs id="2" info="">Alberto</rs> Supongo que dicho objeto tendrá tres propiedades: id, info y valor. Cuando se selecciona un elemento, el control llama a la función callback, (en caso de que hayas asignado una) pasándole el objeto correspondiente como parámetro, y ahí es donde tomas el id: Código:
function callback(obj) { alert('este es el id: ' + obj.id); } Los callbacks son similares a los eventos en delphi; tú los defines y el control los llama cuando es necesario. Bye |
#3
|
||||
|
||||
Hola keyboy, gracias por responder.
Estuve haciendo unos ejemplos con la idea que me haz dado, aquí dejo el código Código PHP:
Alguna otra sugerencia. Mil gracias Hasta Luego .-
__________________
No todo es como parece ser... |
#4
|
|||
|
|||
La función callback tienes que especificarla como parte de las opciones. Observa que options es un objeto (construido al vuelo) que pasas al constructor del control:
Código:
as_xml = new AutoSuggest('criterio', options); Código:
function mi_callback(obj) { alert('este es el id: ' + obj.id); } options = { script: "test1.php?", varname: "input", callback: mi_callback; }; Código:
options = { script: "test1.php?", varname: "input", callback: function mi_callback(obj) { alert('este es el id: ' + obj.id); } }; Bye |
#5
|
||||
|
||||
Hola keyboy:
Gracias por la ayuda ahora funciona de maravilla, justo lo que necesitaba. Acá dejo el código correcto para su funcionamiento por si alguien del foro desea implementar un poquito de ajax.... Código PHP:
Mil gracias... Hasta Luego .-
__________________
No todo es como parece ser... |
#6
|
|||
|
|||
Cita:
Tengo la impresión- aunque puedo equivocarme, desde luego -que la confusión viene de otra parte, y es que hay elementos que quizá no estén del todo claros. Lo primero que hay que tener en cuenta es que en javascript se pueden crear objetos al vuelo, sin necesidad de un constructor. Por ejemplo, cuado ponemos Código:
options = { script: 'test.php', varname: 'input' } Otra cosa a saber, es que podemos asignar una función a una variable y usar dicha variable para invocar la función. Por ejemplo: Código:
// declaramos una función function saludar(mensaje) { alert(mensaje); } // asignamos la función a una variable s = saludar; // invocamos la función a través de la variable: s('hola mundo'); Código:
// asignamos la función a una variable s = function saludar(mensaje) { alert(mensaje); } // invocamos la función através de la variable: s('hola mundo'); Pero no sólo a variables. También podemos asignar funciones a propiedades de un objeto, y ésta es- de hecho -la forma en que se crean métodos en javascript. Así pues, cuando ponemos: Código:
options = { script: 'test.php', varname: 'input', callback: function(obj) { alert(obj.id); } } Tendría que examinar a detalle el código fuente del control para saber qué es exactamente lo que hace, pero bien puede ser algo similar esto: El constructor: Código:
function AutoSuggest(nombre, options) { this.nombre = nombre; this.script = options.script; this.varname = options.varname; this.callback = options.callback; ... } Código:
this.results = Array(); this.results[0] = { id: 1, info: '', value: 'Bastian' } this.results[1] = { id: 2, info: '', value: 'Bartolomeo' } this.results[2] = { id: 3, info: '', value: 'Castillo' } Código:
// si se asignó un callback... if (this.callback) { // ...invocarlo pasándole el objeto seleccionado como parámetro. this.callback(this.results[i]); } Bye Última edición por keyboy fecha: 04-02-2008 a las 21:50:51. |
#7
|
||||
|
||||
Cita:
Hasta Luego .-
__________________
No todo es como parece ser... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
AJAX+PHP+Forms | papulo | HTML, Javascript y otros | 3 | 04-12-2007 18:37:18 |
CSS+Ajax | halizia | HTML, Javascript y otros | 1 | 18-09-2007 08:47:58 |
php+ajax+ie | halizia | HTML, Javascript y otros | 1 | 06-09-2007 13:47:00 |
Ajax | dayrontbs | HTML, Javascript y otros | 0 | 29-08-2007 20:04:41 |
Stored procedures de donde puedo sacar ejemplos | zugazua2001 | Varios | 2 | 04-07-2005 18:10:30 |
|