[英]Multiply the two textbox values and display the result in third textbox in php,jquery
我有代碼可以動態生成文本框。 我想將“數量”和“費率”文本框的值相乘,並在“總”文本框中顯示結果,然后將其發布到下一頁。
小提琴http://jsfiddle.net/hEByw/顯示了如何動態生成文本框。
我已經嘗試了以下代碼部分來將兩個文本框值相乘,但對我來說不起作用。 請參閱小提琴以獲取完整的代碼。
//To multiply two textbox values
$('#qty + counter + ').keyup(calculate);
$('#rates + counter + ').keyup(calculate);
function calculate(e)
{
$('#total + counter + ').val($('#qty + counter +').val() * $('#rates + counter+').val());
}
任何人都可以建議我在哪里做錯了或做錯了正確的方法。 我是jquery新手。 感謝您的幫助。
我認為問題出在這里
$('#rates + counter + ')
應該做到
$('#rates' + counter)
編輯:
我用jsfiddle分析了它,但是問題出在你的邏輯上。 按下鍵時如何獲得計數器。 添加控件后,將使用計數器,並且未定義計數器。
編輯2:
最后我想出了答案。 我不得不稍作調整,但我希望它能使您滿意
檢查此JsFiddle鏈接
抱歉,您無法編輯自己的鏈接
我只是添加了一個title屬性,我用它代替了counter變量。
e.target.title For the counter
title = '+ counter + ' in your HTml
請參閱鏈接。 希望這對您有幫助
只要您使用的是jQuery 1.4+:
$('#qty' + counter).live('keyup', function(){ calculate(counter); });
$('#rates' + counter).live('keyup', function(){ calculate(counter); });
function calculate(counter)
{
total = Number($('#qty' + counter).val())*Number($('#rates' + counter).val())'
$('#total' + counter).val(total);
}
您永遠不知道事件觸發時計數器的值。
$('#qty' + counter).on("blur", function() {
calculate($(this));
});
$('#rates' + counter).on("blur", function() {
calculate($(this));
});
function calculate(el) {
var counter = el.attr("id").indexOf("qty") != -1 ? el.attr("id").substring(3) : el.attr("id").substring(5);
var qty = isNaN(parseInt($('#qty' + counter).val())) ? 0 : parseInt($('#qty' + counter).val());
var rate = isNaN(parseInt($('#rates' + counter).val())) ? 0 : parseInt($('#rates' + counter).val());
$("#total" + counter).val(qty * rate);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.