Причина, по которой он вызывается при загрузке, заключается в том, что передача имени функции с аргументами активно вызывает его. Вы можете эффективно имитировать то, что ищете, обернув вызов validateText в анонимную функцию, подобную этой.
$(document).ready(function() {
$("#myTextbox").blur(function(){
// Since in your original example you used $("#myTextbox") as an arg, this mimics it
validateText($(this), $("#Select1"));
});
});
Анонимная функция, так как она использует ключевое слово this, должна немного лучше масштабироваться с вашим начальным селектором, если вы измените его с #myTextbox на textarea или что-то еще. =)