Ответ Свена является правильным выбором, если вы хотите сравнить фактическое содержимое массивов. Если вы хотите только проверить, содержится ли в списке один и тот же экземпляр, вы можете использовать
any(a is x for x in mylist)
. Одно преимущество заключается в том, что это будет работать для всех видов объектов.
Проблема в том, что событие изменения срабатывает только тогда, когда фокус перемещается от ввода (например, кто-то щелкает ввод или закрывает его). Попробуйте вместо этого использовать клавиатуру:
$(document).ready(function() {
$(':input[type="submit"]').prop('disabled', true);
$('input[type="text"]').keyup(function() {
if($(this).val() != '') {
$(':input[type="submit"]').prop('disabled', false);
}
});
});
$(function() {
$(":text").keypress(check_submit).each(function() {
check_submit();
});
});
function check_submit() {
if ($(this).val().length == 0) {
$(":submit").attr("disabled", true);
} else {
$(":submit").removeAttr("disabled");
}
}
eric, your code did not seem to work for me when the user enters text then deletes all the text. i created another version if anyone experienced the same problem. here ya go folks:
$('input[type="submit"]').attr('disabled','disabled');
$('input[type="text"]').keyup(function(){
if($('input[type="text"]').val() == ""){
$('input[type="submit"]').attr('disabled','disabled');
}
else{
$('input[type="submit"]').removeAttr('disabled');
}
})