У меня есть следующий код jQuery, чтобы отключить кнопку отправки в форме, когда значения пустые. код работает отлично для всех записей, кроме .action_manager
(который представляет собой textarea
, сгенерированный динамически в таблице), в котором, заполняя только первую строку, кнопка включена. Я хочу, чтобы все поля заполнялись до перезапуска submitbutton
. только один экземпляра action_manager
достаточно, чтобы кнопка включена (что не то, что я хочу)Функция jQuery не работает для всех полей того же класса
$('document').ready(function(){
var submitButton = $('input[name="store_values"]');
checkValues();
$('select.actuallevel').on('change',function(){
checkValues();
});
$('select.targetlevel').on('change',function(){
checkValues();
});
$('select.quarter_manager').on('change',function(){
checkValues();
});
$('select.year_manager').on('change',function(){
checkValues();
});
$(".action_manager").each(function()
{
$(this).on('change',function(){
checkValues();
});
});
function checkValues(){
submitButton.prop('disabled',$(".actuallevel > option:selected[value=''],.actuallevel:empty").length > 0 ||
$(".targetlevel > option:selected[value=''],.targetlevel:empty").length > 0 ||
$(".quarter_manager > option:selected[value=''],.quarter_manager:empty").length > 0 ||
$(".year_manager > option:selected[value=''],.year_manager:empty").length > 0 ||
!$.trim($(".action_manager").val())
);
//submitButton.prop('disabled',$(".targetlevel > option:selected[value=''],.targetlevel:empty").length > 0);
}
});
поля текстового поля выглядит следующим образом:
echo "<td><textarea class='action_manager' id='action-".$inf['Competence_ID']."' name='acto-".$inf['Competence_ID']."'>";if (isset($inf['actiontext'])){echo $inf['actiontext'];}echo "</textarea></td>";
echo"<td>";
http://stackoverflow.com/questions/5614399/disabling-submit-button-until-all-fields-have-values – tbraun89
Используйте '$ (document)' вместо '$ ('document')' – MMM
@ tbraun89, я не хочу менять весь код за небольшую ошибку. – auicsc