簡體   English   中英

將兩個文本框值相乘並在php,jquery中的第三個文本框中顯示結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM