1

以下代码可以很好地找到保存在标签字段中的价格值。但是我需要在文本区域中保存数量,但它不起作用。

有任何想法吗?

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">
4

2 回答 2

2

对于设置/获取表单元素的值,val应该使用方法而不是html/text.

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

您还应该指定radixin parseInt

parseInt(string[, radix])

radix:一个整数,表示上述字符串的基数。虽然此参数是可选的,但始终指定它以消除读者混淆并保证可预测的行为。当未指定基数时,不同的实现会产生不同的结果。

于 2012-09-21T21:26:26.283 回答
0

另一种解决方案

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

您可以将它们合并为两行,但有时使用扩展代码进行调试更容易。

于 2012-09-21T22:00:16.827 回答