¿Cómo puedo pasar args a la función del controlador de eventos? Esto ejecuta la función en carga de página que no es el efecto deseado. Necesito esta rutina "validateText" para ejecutar contra varias combinaciones de cuadros de texto, desplegables. ¿Puedo reutilizar "validateText" en lugar de crear uno por combinación de texto/lista desplegable?jQuery, ¿cómo puedo pasar args al controlador de eventos?
//add blur event handler to the textbox with jQuery when the page is finished loading
$(document).ready(function() {
$("#myTextbox").blur(validateText($("#myTextbox"), $("#Select1")));
})
function validateText(textbox, dropdown) {
var message = $("#message");
var isValid = false;
//get the value the user type in
var textboxValue = $(textbox).val();
//get the options from the lookup
var options = $("option", dropdown);
//loop through the options and compare it to "value"
options.each(function() {
var optValue = $(this).val();
if (optValue === textboxValue) {
isValid = true;
}
});
if (!isValid)
message.text(textboxValue + " is not a valid value from the list.");
else
message.text(textboxValue + " is perfectly valid.");
}
Gracias Brian. Esto funcionó muy bien! – Hcabnettek
Técnicamente, la razón por la que se está ejecutando es porque estaba pasando una llamada a una función cuando las devoluciones de llamada jQuery solicitan un puntero a la función, que es la razón por la cual funciona la función anónima. – Nic