【发布时间】:2017-01-08 08:55:34
【问题描述】:
我遇到了从多个多选框的选定值创建字符串的问题,让我用下面的例子来解释:
假设我在 jQuery 中有如下下拉值。
country = [usa, uae, ksa, uk]
products = [animals, meat, clothes]
show-in = [value, weight]
unit= [thousands, millions, kilos, tons]
现在我想创建包含所有组合字符串的数组,例如在上述情况下:
all_string =
[usa-animals-value-thousands,
usa-animals-value-millions,
usa-animals-value-kilos,
usa-animals-value-tons,
usa-animals-weight-thousands,
usa-animals-weight-millions,
usa-animals-weight-kilos,
usa-animals-weight-tons,
usa-meat-value-thousands,
usa-meat-value-millions,
.... and so on]
请注意,表单中的选择框数量是动态的,每个选择框可以有任意数量的用户选择的值。
到目前为止,我已经尝试了不同的方法,并且只能创建第一级的字符串,比如每个数组的每个第一个元素的字符串连接在一起。但是,我无法为每个组合递归地生成它。
我当前的代码如下,但这只是一个想法,因为到目前为止它还没有满足我的要求。
var final_data = [];
var data = [];
jQuery('.form-filter select').each(function () {
data.push(jQuery(this).val());
});
for (var k = 0; k < data[0].length; k++) {
var str = "";
for (var j = 0; j < data.length; j++) {
str += (data[j][i] !== undefined) ? "-" + data[j][i] : ((data[j][i - 1] !== undefined) ? "-" + data[j][i - 1] : "-" + data[j][i - 2]);
}
final_data.push(str.slice(1));
}
请帮忙..
【问题讨论】:
-
包括你目前在 OP 中的内容
-
@guradio 编辑了我的问题,请检查。
-
没人帮忙吗?
标签: jquery json drop-down-menu multi-select dropdown