как установить значение текстового поля в 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 92

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')

, чтобы установить его.

http://api.jquery.com/val/

ваш второй вопрос.

Я никогда не пробовал автоматический набор html-значения метода load, извините. Конечно, вы можете сделать что-то вроде

$('#subtotal').load( 'compz.php?prodid=' + x + '&qbuys=' + y, function(response){ $('#subtotal').val(response);
});

проверьте это, потому что я рукописный код ;)

http://api.jquery.com/load/

Я хотел бы указать вам, что .val () также работает с selects для выбора текущего выбранного значения.