2012-09-21 2 views
1

Следующий код отлично подходит для определения стоимости цены, которая хранится в поле метки. Однако мне нужно количество, содержащееся в текстовой области, но оно не работает.jquery find textfield

Любые идеи?

The Javascript:

var price = parseInt(ui.draggable.find(".price").html().replace("$ ", "")); 
var qty = parseInt(ui.draggable.find(".qty").html()); 

HTML-:

<label class="price">$ 100</label> 
    <input name="qty_1" type="text" class="qty" id="qty_1" value="1" size="2" maxlength="2"> 

ответ

2

Для установки/получения значений элементов формы val метод должен быть использован вместо html/text.

var qty = parseInt(ui.draggable.find(".qty").val(), 10); 

Также следует указать radix в parseInt.

parseInt(string[, radix])

radix: целое число, которое представляет собой десятичную указанной выше строки. Хотя этот параметр является необязательным, всегда указывайте его, чтобы устранить путаницу читателя и гарантировать предсказуемое поведение. Различные реализации приводят к разным результатам, когда редикс не указан.

+0

Удивительный, это было идеально. Спасибо – bbutle01

+0

@ bbutle01 Добро пожаловать. – undefined

0

другое решение

var 
    price  = $(".price").html().replace('$ ',''), 
    price_val = parseInt(price), 
    qty  = $("input[name='qty_1']"), 
    qty_val = parseInt(qty[0].value) 
; 

вы можете объединить их в две строки, но иногда это проще отлаживать с расширенным кодом.