2010-05-31 179 views
3

我在我的頁面上有2個文本框和一個標籤。這兩個文本框將包含數字值。標籤文本將是2個文本框值的乘積。有沒有辦法使用JQuery來做到這一點,以便在編輯文本框時不必進行回發就可以更新值?JQuery更新標籤

此外,文本框可能包含逗號的值:例如, 10,000。有沒有一種方法可以從中提取數字,以便它可以用來計算標籤值。

由於提前,

的ZAP

回答

1

我不能添加評論給其他答案,所以我只是在這裏發佈更新。

原始問題涉及產品,這意味着乘法,所以這裏是一個允許無限文本框並完成乘法的版本。


function makeInt(text) { 
    return parseInt(text.replace(',', '')); 
} 
$(function(){ 
    //hook all textboxes (could also filter by css class, if desired) 
    //this function will be called whenever one of the textboxes changes 
    //you could change this to listen for a button click, etc. 
    $("input[type=text]").change(function(){ 
    var product = 1; 
    //loop across all the textboxes, multiplying along the way 
    $("input[type=text]").each(function() { 
     product *= makeInt($(this).val()); 
    }); 
    $("#display-control-id").html(product); 
    }); 
}); 
0
$('#SecondTextbox').keyup(function() { 
    var t1 = $('#FirstTexbox').val(); 
    var t2 = $(this).val(); 
    var result = t1+t2; 
    $('#resultLabel').html(result); 
}); 

這可能做的伎倆,或者你可以把它與一些鏈接元素的點擊事件。這也不會有任何頁面刷新。

$('#checkButton').click(function() { 
    var t1 = $('#FirstTexbox').val(); 
    var t2 = $('#SecondTextbox').val(); 
    var result = t1+t2; 
    $('#resultLabel').html(result); 
}); 

鏈接可能是這樣的,

<a id="checkButton" title="Check your result">Check</a> 

有了這樣你會有的CSS設置 '光標:指針;'使它看起來是一個適當的鏈接。

+1

你需要拋出一些parseInt和一些替換逗號來將字符串轉換爲數字。像'parseInt($('#FirstTexbox')。val()。replace(',',''))''應該可以將每個值轉換爲一個數字,然後可以相加 – 2010-05-31 11:40:44