2013-12-04 3 views
0

Я пытаюсь добавить значения из поля ввода со значениями переменной внутри jquery. При этом я получаю [object Object], отображая в качестве результата. Моя цель - получить значение из поля ввода, чтобы затем добавить к переменной и в конечном итоге отобразить результат в другом текстовом поле с идентификатором person. Тексбокс, который я пытаюсь получить, равен count. Как я могу это достичь?Добавление значения поля ввода

$.ajax({ 
    type: 'POST', 
    url: 'person.php', 
    data: $(this).serialize(), 
    dataType: 'json', 
    success: function (data) { 
    var num = $('#count').val(data); 
    $('#person').val(num+ newUniqueAI); 
    } 
}); 
+0

Что такое 'data'? Почему вы передаете его в '.val', если хотите получить значение? Пожалуйста, прочитайте документацию jQuery: http://api.jquery.com/val/. Он содержит информацию о том, как следует вызывать '.val'. –

+1

Вы устанавливаете значение данных для подсчета, не получая –

+0

@FelixKling Извините, я добавил весь пример. –

ответ

1
$('#count').val(data);// first set the value  

var num = $('#count').val(); //get by val() 
$('#person').val(parseInt(num)+ parseInt(newUniqueAI)); // set by val(something) 

ссылка .val()

+0

+1 Отлично, но теперь '(num + newUniqueAI)' не будет добавлять, например, если 'num = 5' и' newUniqueAI = 3' Я получаю результат '53'. Как так? –

+0

@Code_Ed_Student: Одно из значений (или обоих) - это строка. Сначала преобразуйте строки в номера, например. с унарным оператором '+': '+ num'. –

+0

use parseInt() я обновил –

3

Вы используете:

$('#count').val(data); 

Это устанавливает значение #count к значению данных и возвращает объект JQuery. Вы хотите получить значение #count. Поэтому вы должны использовать:

$('#count').val(); 

Если вы не укажете параметр, функция val вернет значение. Более подробную информацию о Val() можно прочитать здесь: http://api.jquery.com/val/

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