繁体   English   中英

将参数传递给javascript / JQuery函数?

[英]Passing Parameter to javascript/JQuery function?

我正在使用JS / JQ函数将值转换为货币(即添加逗号)。 它工作正常,但我无法为此功能提供参数。 请帮助我将参数传递给此函数。

function VTC() {
    var n = document.getElementById("text1").value;
    var number = n.toString(), 
    dollars = number.split('.')[0], 
    cents = (number.split('.')[1] || '') +'00';
    dollars = dollars.split('').reverse().join('')
        .replace(/(\d{3}(?!$))/g, '$1,')
        .split('').reverse().join('');
    return dollars + '.' + cents.slice(0, 2);
}

调用此函数的第二个函数是

function f1() {
    var res = VTC($().val()); 
    document.getElementById("text2").value = res ;
}

我想传递像200900这样的参数。此刻,它正在从字段中获取值,并且工作正常,但我想将此值作为参数传递。

改成

function VTC(text2) { //receiving with text2
}


function f1() 
{
  var res = VTC($('#ID').val()); //this is sending the items
  document.getElementById("text2").value = res ;
}

您需要将特定于案例的内容移出VTC函数,并移至f1辅助函数。 如果这样做,则可以通过使VTC接受数字作为参数来重组代码:

function VTC(n) {
    var number = n.toString(), 
    dollars = number.split('.')[0], 
    cents = (number.split('.')[1] || '') +'00';
    dollars = dollars.split('').reverse().join('')
        .replace(/(\d{3}(?!$))/g, '$1,')
        .split('').reverse().join('');
    return dollars + '.' + cents.slice(0, 2);
}

然后,将getElementById调用移至您的辅助函数,然后将数字传递给另一个函数。

function f1() 
{
    var num = document.getElementById("text1").value;
    var res = VTC(num); 
    document.getElementById("text2").value = res ;
}

现在,您可以使用任何号码致电VTC ,它将按预期工作:

VTC(2000); // => "2,000.00"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM