2013-06-04 3 views
0

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

У меня есть AJAX, подтверждающий удаление скрипта и запуск его, подтверждая, что он запускает запрос Ajax на страницу, которая удаляет запись базы данных, после этого я хочу вычесть заданное значение из возвращаемого в поле ввода ,

// Issue is to be deleted so modify the value in the outlay box 
total = $("#CostToSolve").val(); 
$('.rec-outlay').closest(function() { 
    total - (parseInt($(this).text(), 10) || 0); 
    }); 
$('#CostToSolve').attr("value", total + ".00"); 

Всякий раз, когда я нажимаю удалить его присоединяет .00 к входному общем, я проверил переменную «общей» в консоли и она возвращается правильный номер, так я предполагаю, Thats правильно и угадать вопрос лежит исключительно с синтаксисом, который я использовал в этой строке:

total - (parseInt($(this).text(), 10) || 0); 
+0

не должно быть возвращено total - (parseInt ($ (this) .text(), 10) || 0); ? –

+4

- 'ближайший()' настраиваемый метод, или вы используете 'ближайший()' jQuery самым странным образом? – adeneo

+0

lol Да, я как бы догадывался об этом, я должен был удалить его. Возможно, я должен использовать их каждый. – Funk247

ответ

1
var total = $("#CostToSolve").val(); 

$('.rec-outlay').each(function(i, ele) { 
    total -= parseInt(ele.value,10) || 0; 
}); 

$('#CostToSolve').val(total + ".00"); 
+0

Протестировано и не вычитает значение, просто добавляет .00. Ввод var total = $ ("# CostToSolve"). Val(); в консоль возвращает undefined. Возможно, это не догоняет это начальное значение. – Funk247

+0

ах, но ввод всего «всего» в консоль возвращает правильное значение. Извините, я все еще чувствую, как работает инспектор кода – Funk247

+0

Кажется, работает для меня -> http://jsfiddle.net/SK4Nx/ – adeneo

0

Сегмент:

$('.rec-outlay').closest(function() { 
    total - (parseInt($(this).text(), 10) || 0); 
    }); 

ничего не делает, как вы не пытаетесь вставить результат в любом месте

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