Jak przekazać argumenty do funkcji obsługi zdarzeń? Ta funkcja uruchamia się po załadowaniu strony, co nie jest pożądanym efektem. Potrzebuję tego rutynowego "validateText", aby działał na kilku różnych polach tekstowych, kombinacjach rozwijanych. Czy mogę ponownie użyć "validateText" zamiast tworzyć jedną kombinację tekstu/listy rozwijanej?jQuery, jak mogę przekazać args do obsługi zdarzenia?
//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.");
}
Dzięki Brian. To działało świetnie! – Hcabnettek
Z technicznego punktu widzenia powodem, dla którego jest wykonywana, jest to, że podczas wywoływania funkcji wywołania jQuery żądano wskaźnika funkcji - dlatego funkcja anonimowa działa. – Nic