Pregunta

He añadido una devolución de llamada a un widget de jQuery. Se entrega la información en la consola pero ¿cómo puedo conseguir que se aplique algo a los datos en la página?

Ejemplo ...

en mis opciones de widgets he hecho la siguiente disposición para recibir la entrada:

 complete        : ''

y han añadido un método para el widget, así:

_complete : function(data) {
        if(this.options.complete) {
            console.log(data);
        }
    }

En otro procedimiento para el widget hago una llamada AJAX y luego llamar a utilizar este método _complete al fuego después de que el Ajax ha terminado como:

self._complete(self.options.complete);

Así que si, cuando se utiliza el widget, paso algo a la opción complete este modo:

complete : function(){$('.gridrow').css('background-color','#FFF');}

Me verá esta salida en la consola como:

function(){$('.gridrow').css('background-color','#FFF');}

Pero lo que realmente quiero es aplicar efectivamente que al código, para que cambie el color de fondo GridRow clases.

Me puede pasar en lo que sea y conseguir que la salida de la consola, pero cómo me aplico en realidad a la página?

¿Fue útil?

Solución

No estoy seguro de por qué tiene que pasar en la función complete a su función _complete, seguro que puede simplemente prueba para él y luego ejecutarlo. El cambio fundamental es que se debe invocar la función complete usando ():

_complete : function() {
        if (this.options.complete) {
            this.options.complete(); // execute the input function
        }
    }

Si desea registrar el resultado de esa función a la consola a continuación, asegurar que complete devuelve un valor:

complete : function() { return $('.gridrow').css('background-color','#FFF'); }

A continuación:

_complete : function() {
        if (this.options.complete) {
            console.log(this.options.complete()); // print the result
        }
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top