как установить значение текстового поля в jQuery
Как правильно загрузить определенное значение в текстовое поле с помощью jquery?Пробовал один ниже, но я получаю [object Object]
как выходной. Пожалуйста, просветите меня на этот счет, я новичок в jquery.
proc = function(x,y) {
var str1 = $('#pid').value;
var str2 = $('#qtytobuy').value;
var str3= $('#subtotal').load('compz.php?prodid=' + x + '&qbuys=' + y);
$('#subtotal').val(str3);
}
и вот html-форма:
<form name="yoh" method="get">
Product id: <input type="text" name="pid" value=""><br/>
Quantity to buy:<input type="text" name="qtytobuy" value="" onkeyup="proc(document.yoh.pid.value, this.value);"></br>
Subtotal:<input type="text" name="subtotal" id="subtotal" value=""></br>
<div id="compz"></div>
</form>
3 ответа:
Я думаю, что вы хотите установить ответ на вызов по URL
'compz.php?prodid=' + x + '&qbuys=' + y
как значение текстового поля правильно? Если это так, вы должны сделать что-то вроде:$.get('compz.php?prodid=' + x + '&qbuys=' + y, function(data) { $('#subtotal').val(data); });
ссылки:
get()
у вас две ошибки в коде:
load()
ставит HTML возвращается из Ajax в указанный элемент:загрузите данные с сервера и поместите возвращенный HTML в соответствующий элемент.
вы не можете установить значение текстового поля с помощью этого метода.
$(selector).load()
возвращает jQuery объект. По умолчанию объект преобразуется в[object Object]
при обработке как строка.дополнительно разъяснить:
предполагая, что Ваш URL возвращает
5
.если ваш HTML выглядит так:
<div id="foo"></div>
затем результат
$('#foo').load('/your/url');
будет
<div id="foo">5</div>
но в вашем коде, у вас есть элемент input. теоретически (это не является допустимым HTML и не работает, как вы заметили), эквивалентный вызов приведет к
<input id="foo">5</input>
но вам на самом деле нужно
<input id="foo" value="5" />
поэтому вы не можете использовать
load()
. Вы должны использовать другой метод, получить ответ и установить его в качестве себя значение.
значение javascript для использования языка jQuery вы должны использовать
$('#pid').val()
получить и
$('#pid').val('value')
, чтобы установить его.
ваш второй вопрос.
Я никогда не пробовал автоматический набор html-значения метода load, извините. Конечно, вы можете сделать что-то вроде
$('#subtotal').load( 'compz.php?prodid=' + x + '&qbuys=' + y, function(response){ $('#subtotal').val(response); });
проверьте это, потому что я рукописный код ;)