2015-04-21 40 views
0

我試圖在sum標籤上顯示總價格,將qtyTxt值(用戶輸入的值)與price相乘。但它不起作用,if聲明永遠不會到達。jQuery更改文本框值不起作用

<input type="text" name="qtyTxt" value="1" size="2" style="width: 25px"/> 
<label id="price">${adClicked.price}</label> 
<label id="sum">${adClicked.price}</label> 
<input type="hidden" name="id" value="${adClicked.id}"/> 

<script> 
$(".qtyTxt").bind('change', function() { 
    var sum=$(("#price").val())* ($(this).val()); 
    $("#sum").val('Rs.'+sum); 
}); 
</script> 

在控制檯中沒有錯誤,並且$("#sum").val('Rs.'+sum);工作正常。

+1

什麼的sympton「不工作」?沒有輸出?錯誤的輸出? – user3154108

+1

'val'用於獲取表單控件的值而不是'label'元素。改爲使用'.text()'方法。 – undefined

回答

2

1)使用parseInt()parseFloat()parseInt()函數解析一個字符串並返回一個整數。

2)另一個錯誤不要使用val()的標籤,而不是使用text()的標籤

var sum= parseInt($("#price").text() , 10) * parseInt($(this).val() ,10); 

代碼是

$(".qtyTxt").bind('change', function() { 
    var sum= parseInt($("#price").text() , 10) * parseInt($(this).val() ,10); 
    $("#sum").text('Rs.'+sum); 
}); 
+2

另外,jQuery的Kings不使用'text'方法獲取輸入的值,對嗎? – undefined

+0

@Vohuman - 良好的通知感謝 –

+0

@Vohuman - 我喜歡你的名字爲Jquery。儘快更改我的個人資料 –

0

兩個問題:

1)您在有錯誤您的代碼$(("#price").val())應該是$("#price").text()$("#price").html()

2)你需要做的數學計算之前解析值:

var sum=parseInt($("#price").text(),10)*parseInt($(this).val(),10) ;