. Каждое утверждение будет влиять только на последний элемент. Я хотел бы предположить, что что-то делать с моей переменной логикой, но я не понимаю, как это имеет смысл, поскольку я нацеливание внутри этого заявления, используя $ (это)jQuery каждый влияет только на последний элемент
JS
$("form").each(function() {
$this = $(this);
$submit = $this.find('.submit');
$textarea = $this.find('textarea');
$submit.attr("disabled", "disabled");
$textarea.keyup(function(){
var validated = true;
var validated = ($textarea.val().length === 0) ? false : true;
if(validated) {
$submit.removeAttr("disabled");
} else {
$submit.attr("disabled", "disabled");
}
});
$textarea.trigger('keyup');
});
Basic HTML:
<form>
<textarea rows="13"></textarea>
<button class="btn submit">Chercher</button>
</form>
<form>
<textarea rows="13"></textarea>
<button class="btn submit">Chercher</button>
</form>
отлично работает для меня .. проверки этой скрипки: http://jsfiddle.net/NG4MP/ также. 'var validated = true' является избыточным – karthikr
Я бы предложил использовать класс для вашего текстового поля. Делает весь код более простым. О, и префиксы JS-переменных с '$' довольно необычны. –
@ lethal-guitar: префикс '' 'для переменных, содержащих объекты jQuery, довольно распространен. –