如何在jquery中创建一个简单的计算

时间:2014-04-23 10:49:55

标签: jquery

我是jQuery的新手,这将变得非常明显。

我试图通过将jquery应用于小创意来学习jquery。

在这种情况下,它是统计学中的Z分数公式。

z = x-mu / sigma

以下是我在jquery代码中接近它的方法。

$(document).ready(function() {

    var x = $('input[name="xValue"]').val();
    var mu = $('input[name="muValue"]').val();
    var sig = $('input[name="sigmaValue"]').val();
    var total = x - mu / sig;

    function calculate() {
        $('.result').html(total);
    }
});

我捕获的一个概念是将您的值存储在变量中,然后以这种方式对其进行操作。

我正在努力的是接下来要做些什么。在这种情况下,我想在触发事件时输出结果(onclick)。

这是我的标记:

<section class="formula">
    <div class="z"></div>
    <div class="x">
    <input id="xValue" type="text" name="x" autofocus>
    </div>
    <div class="mu">
        <input id="muValue" type="text" name="mu">
    </div>
    <div class="sigma">
        <input id="sigmaValue" type="text" name="sigma">
    </div>
    <div class="result"></div>
    <button onclick="calculate()">Calculate</button>
</section>

3 个答案:

答案 0 :(得分:1)

你可以这样做: 将您的HTML更改为:

...
<button onclick="calculate()">Calculate</button>
...

..
<button type="button" class="calculate">Calculate</button>
....

并在js中,为类calculate的按钮的单击处理程序:

$(document).ready(function() {
    $(".calculate").click(function() {
        var x = $('input[name="x"]').val();
        var mu = $('input[name="mu"]').val();
        var sig = $('input[name="sigma"]').val();
        var total = x - mu / sig;
        $('.result').html(total);    
    });
});

演示jsFiddle

答案 1 :(得分:0)

嗯,我想在这里指出几个错误。

首先,将计算逻辑包装在calculate函数中,如下所示。

    function calculate() {
     var x = $('input[name="xValue"]').val();
     var mu = $('input[name="muValue"]').val();
     var sig = $('input[name="sigmaValue"]').val();
     var total = x - mu / sig;
     $('.result').html(total);

}

接下来,您选择名称为input的{​​{1}},但在您的HTML中,其名称仅为xValue。更改名称或使用选择器xinput[id="xValue"

最后,当您使用jQuery时,最好避免使用内联脚本。 使用

$("#xValue").val()"

JsFiddle

答案 2 :(得分:0)

试试这个:

 $("#btncalc").on('click', function() {
   event.preventDefault();
   var x = parseInt($("#xValue").val());        
    var mu = parseInt($("#muValue").val());
    var sig =parseInt($("#sigmaValue").val());
    var total1 = x - (mu / sig);
    alert(total1);           
    $('div.result').html(total1);

});

Fiddle