Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于表外选择值查找数组的值_Javascript_Jquery_Arrays_Multidimensional Array - Fatal编程技术网

Javascript 基于表外选择值查找数组的值

Javascript 基于表外选择值查找数组的值,javascript,jquery,arrays,multidimensional-array,Javascript,Jquery,Arrays,Multidimensional Array,基本上,我有一个简单的用户填写自定义表单,然后他们选择用户数量和他们想要的产品数量。然后,我尝试提取一个数组的值,如下所示,在一个输入字段中生成一个结果,我也将随表单一起提交 以下是我到目前为止的情况 var arraymultidimensional = [] arraymultidimensional = [[$200,$250],[$300,$350],[$400,$450]]; 结果: 职位0[$200][$250] 职位1[$300][$350] 职位2[$400][$450] 到

基本上,我有一个简单的用户填写自定义表单,然后他们选择用户数量和他们想要的产品数量。然后,我尝试提取一个数组的值,如下所示,在一个输入字段中生成一个结果,我也将随表单一起提交

以下是我到目前为止的情况

var arraymultidimensional = []
arraymultidimensional = [[$200,$250],[$300,$350],[$400,$450]]; 
结果:

职位0[$200][$250] 职位1[$300][$350] 职位2[$400][$450]

到目前为止,我已经了解了这一部分,但我在这里试图做的是,如果客户选择2个用户和2个产品,基于上述内容,我希望在输入字段中显示350美元,但我不确定如何在数组中根据数组中位置的“计数”类型系统选择该值


它之所以如此流畅,是因为有更多的产品可用,也会增加更多的价格,所以数组会变得更大。

数组索引总是从0开始,因为您有一个或多个用于选择项目的数组对应于2个用户和2个产品,所以您需要选择arraymultidimensional[1][1]。因此,对于任何输入值,您都需要将该值减去1,因为它是一个多维数组,所以使用[][]

最终可以解决这个问题

根据Ankit Agarwal的评论,这里是我的工作方法,以防其他人需要这个解决方案并看到这篇文章。希望这能帮助其他人

        var price = [
            [0, 0, 0, 0, 0],
            [11, 12, 13, 14, 15],
            [21, 22, 23, 24, 25],
            [31, 32, 33, 34, 35],
            [41, 42, 43, 44, 45],
            [51, 52, 53, 54, 55]
        ];

        $(document).on("change click", ".form-control", function() {
            var productsum = 0;
            var usersum = 0;

            $(".fieldRow .form-control").each(function(){
                productsum += +$(this).length;
            });

            $(".userinput").each(function(){
                usersum += +$(this).val();
            });

            $(".products-amount").text(numbersum);
            $(".users-quantity").text(usersum);
            $('#total').text(price[usersum][productsum]);
        });
基本上。。。根据用户从两个不同字段中选择的内容,一个是“用户”,另一个是“产品”,它将从我设置的多数组中选择不同的价格值

它位于这样一个数组中的主要原因是它将定期更新,并允许基于选定的值流动

如果您希望有一个自由类型的数字字段,您需要更改以下内容,以便它能够捕获击键的释放并捕获值

$(document).on("change click keyup", ".form-control", function() {
另外,对“productsum”进行.length计数的原因是我正在复制带有多个产品选项的选项的选择框。这可以简单地替换为.val以获取与之关联的值


我仍在处理页面的其他元素,因此这不是最终产品,而是其他人修改以供自己使用的良好开端

感谢您的回复,我最终将其编入了我的原始代码,并提出了一个简洁的解决方案。需要清理它,但分享代码的情况下,其他人需要它,并看到这篇文章。