【问题标题】:Passing Parameter to javascript/JQuery function?将参数传递给 javascript/JQuery 函数?
【发布时间】:2014-10-18 04:59:59
【问题描述】:

我正在使用 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 这样的参数。此时,它正在从一个字段中获取值并且工作正常,但我想将此值作为参数传递。

【问题讨论】:

标签: javascript jquery function parameters parameter-passing


【解决方案1】:

您需要将特定于案例的内容从您的 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"

【讨论】:

    【解决方案2】:

    改成

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

    【讨论】:

    • 我有一些变量,所以我想传递这些变量,#cracker
    • 用逗号传递它,并用每个新的 var 到该函数
    • 您可以做的另一件事是脚本开头的全局变量,它允许您在脚本中分配和使用它
    猜你喜欢
    • 2011-04-16
    • 2013-01-27
    • 2010-09-27
    • 1970-01-01
    • 2011-10-02
    • 2016-01-16
    • 2017-02-05
    • 1970-01-01
    相关资源
    最近更新 更多