Kieran Senior
Kieran Senior

Reputation: 18220

Combine Events - Event Handler Passing

I can't for the life of me figure out how you would do the following:

$("select").change(function() {
  var cb = $(this).parent().next().find("input[type=checkbox]");
  $(this).val().length > 0 ? cb.attr('checked', true) : cb.attr('checked', false) 
});
$("input[type=text]").keyup(function() {
  var cb = $(this).parent().next().find("input[type=checkbox]");
  $(this).val().length > 0 ? cb.attr('checked', true) : cb.attr('checked', false) 
});

As one function. Really don't like repetition, especially when they're doing the exact same thing.

My jQuery jedi skills aren't tailored to this scenario.

Upvotes: 0

Views: 337

Answers (1)

David Hedlund
David Hedlund

Reputation: 129812

You first declare the function:

function myFunc() {
   var cb = ...
}

and then add the assignments:

$('select').change(myFunc);
$('input[type=text]').keyup(myFunc);

Upvotes: 2

Related Questions