2010-05-31 84 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