2015-01-19 3 views
0

У меня есть форма, с динамическими полями, которые добавляются, только если они нужны пользователю.Получить значение из динамического поля формы до обратной передачи с помощью jQuery

Мне нужно уметь проверять поля (если они есть) перед отправкой в ​​jquery. Поля являются целыми числами, и я действительно хочу добавить сумму динамических полей, чтобы убедиться, что они больше, чем x.

Но Насколько я могу это решить, я не могу получить значение поля, потому что его еще нет в DOM.

Я продемонстрировал проблему JSFiddle. Я хочу добавить значения в событие onblur, к сожалению, не может быть нажата кнопка основной отправки.

Вот некоторые из кода

$(document).on('blur', '.rent-percent', function() { 
     var id = this.id; 
     console.log(this); 
     var value = $('#' + id).val() 
     $('#total').append(value * count); 

    }); 

ответ

0

Попробуйте это и убедитесь, что вы не используете устаревшую версию JQuery:

$(document).on('blur', '.rent-percent', function() { 
    if(!$.isNumeric($(this).val())){ 
     $(this).val(''); 
     return alert('Not a Number!'); 
    } 
    var c = 0; 
    $('.rent-percent').each(function(){ 
      c += parseInt($(this).val());      
    }); 
    $('#total').html('<h3>Total</h3>'+c); 
}); 

JSFiddle

+0

ОК, это намного ближе, чем мне удалось, спасибо. Как я могу получить общий div для добавления всех значений, введенных в отдельные поля? –

+0

Обновлен мой ответ и JSFiddle –

+0

Да, так получилось, я придумал нечто похожее. Спасибо за вашу помощь. –

0

Часть вашей проблемы значения id, которые вы генерируете, имеют в них символы квадратной скобки. Спецификация HTML4 допускает только буквы, цифры, дефисы и подчеркивания. по моему опыту, jQuery имеет проблемы с идентификаторами, которые не соответствуют этому. Попробуйте исправить значения id и посмотреть, позволяет ли это видеть значения полей. Они находятся в DOM, так как они являются частью страницы.

Смежные вопросы