基本上,我有一个带有简单用户填写的自定义表单,然后他们选择用户数量和想要的产品数量。然后,我尝试如下图所示拉出数组的值,以在输入字段中产生#结果,我还将使用该表单提交该结果。
下面是我到目前为止所拥有的;
var arraymultidimensional = []
arraymultidimensional = [[$200,$250],[$300,$350],[$400,$450]];
结果:
位置0 [$ 200] [$ 250]
排名1 [$ 300] [$ 350]
排名2 [$ 400] [$ 450]
我到目前为止已经完成了这部分,但是我要在这里做的是,如果一个客户要选择2个用户和2个产品,基于上述情况,我想在输入字段中显示$ 350,但我不确定如何可以根据数组中位置的“计数”类型系统在数组中选择此值。
之所以要保持流畅是因为有更多可用的产品,而且还会增加更多的价格,因此阵列会变得更大一些。
答案 0 :(得分:1)
数组索引始终从0
开始,由于您有一个或多个用于选择项目的数组对应于2个用户和2个产品,因此您需要选择arraymultidimensional[1][1]
。因此,对于任何输入值,您都需要将该值减去1,并且由于它是多维数组,因此请使用[][]
答案 1 :(得分:0)
最终解决了这个问题。
根据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() {
P.S。对'productsum'进行.length计数的原因是我正在复制带有多个产品选项的选项框。只需替换为.val()即可获取与其关联的值。
我仍在处理页面的其他元素,因此这不是最终产品,而是供他人修改以供自己使用的一个好开始!