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以获取与之关联的值
我仍在处理页面的其他元素,因此这不是最终产品,而是其他人修改以供自己使用的良好开端 感谢您的回复,我最终将其编入了我的原始代码,并提出了一个简洁的解决方案。需要清理它,但分享代码的情况下,其他人需要它,并看到这篇文章。