如何计算具有相同ID的表单字段?

时间:2015-03-08 15:13:23

标签: javascript

我想要的应该是非常简单,但如果我在这里搜索,或者在Google上搜索,我最终会遇到过于复杂的情况。

<script language="javascript">

// putten tellen

$(document).ready(function () {
    $("input[type='number']").keyup(function () {
        $.fn.myFunction();
    });
    $.fn.myFunction = function () {
        var minute_value = $("#minute").val();
        var second_value = $("#second").val();

        if ((minute_value != '')) {
            var productiesec_value = (1 / (parseInt(minute_value) * 60 + parseInt(second_value)));
            var productiemin_value = productiesec_value * 60;
            var productieuur_value = productiesec_value * 3600;
            var productiedag_value = productiesec_value * 86400;
            var productieweek_value = productiesec_value * 604800;
            var productiemaand_value = productiesec_value * 2629700;
            var productiejaar_value = productiesec_value * 31556952;


            productiesec_value = (productiesec_value).toFixed(5);
            productiemin_value = (productiemin_value).toFixed(2);
            productieuur_value = (productieuur_value).toFixed(2);
            productiedag_value = (productiedag_value).toFixed(0);
            productieweek_value = (productieweek_value).toFixed(0);
            productiemaand_value = (productiemaand_value).toFixed(0);
            productiejaar_value = (productiejaar_value).toFixed(0);

            $("#productiesec").val(productiesec_value.toString());
            $("#productiemin").val(productiemin_value.toString());
            $("#productieuur").val(productieuur_value.toString());
            $("#productiedag").val(productiedag_value.toString());
            $("#productieweek").val(productieweek_value.toString());
            $("#productiemaand").val(productiemaand_value.toString());
            $("#productiejaar").val(productiejaar_value.toString());
        }
    };
});

</script>

我想要完成的事情是:

  • 以多种类型的时间(秒,分钟,小时等)计算宝石的生产时间 - (完成)
  • 通过多个坑计算宝石的产量。

预览:http://hielke.net/projecten/productie/edelsteenput.htm

这个想法是你填写第一个字段中的分钟和第二个字段中的秒。然后脚本应该在右侧以秒,分钟,小时等计算生产量。

之后必须可以填写第二行分钟和秒,然后计算总生产时间。其余行也一样。

1 个答案:

答案 0 :(得分:0)

欢迎来到SO!

关于您的设置的警告:尽可能避免让元素在您的网页上共享ID 。 ID通常用于仅在页面上出现一次的元素;否则使用一个类。这种做法是document.getElementById()返回单个元素的原因,而document.getElementsByClassName()返回一个数组,这使得您的问题的答案就像获取该数组的.length一样简单。

这就是说 - 在Javascript中计算具有相同ID的元素的数量通常被认为是无效的,因为getElementById()将只返回一个元素,并且(据我所知)没有办法迭代页面上相同ID的实例。

如果可以的话,尝试将这些ID更改为类名,对它们运行document.getElementsByClassName().length以获取计数。