我在单个字段中有数据,如下所示:
40-818-938 | COUPLING, 25MM, PVC BLACK | PCS, MTR, BUNDLE | 3
第一个块是项目代码,第二个是项目描述,第三个是单位,它们是动态的,第四个是单位数量。这些块由|
我想循环遍历第三个块(单位)并将它们放入不带逗号和空格的单独变量中,并使用它们填充选择列表。
请帮助我实现这一目标。下面是根据单位数量将第三个块添加到选择列表中的代码(第四个块),我需要将它们分开。
for (var i = 0; i < arrData[3]; i++) {
var x = document.createElement("OPTION");
x.setAttribute("value", arrData[2]);
var t = document.createTextNode(arrData[2]);
x.appendChild(t);
input.appendChild(x);
}
提前致谢。
答案 0 :(得分:3)
由于您已经将原始字符串拆分为数组,因此您只需要拆分该数组的第二个元素:
arrData[2] = arrData[2].split(',');
然后,在循环内部,你需要像这样引用它:
x.setAttribute("value", arrData[2][i]);
var t = document.createTextNode(arrData[2][i]);
答案 1 :(得分:2)
Var items = obj.split("|");
Var units = items[2].split(",");
答案 2 :(得分:1)
如果您还要删除空格,可以将它们添加到要拆分的模式:
var data = '40-818-938 | COUPLING, 25MM, PVC BLACK | PCS, MTR, BUNDLE | 3';
var units = data.split(/\s*\|\s*/g)[2]; // "PCS, MTR, BUNDLE"
console.log(units.split(/\s*,\s*/)[1]); // "MTR"
制作选项元素的最简单方法是使用Option constructor:
var unit = units.split(/\s*,\s*/)[1];
var x = new Option(unit, unit);
input.appendChild(x);
答案 3 :(得分:0)
你可以这样做
var string1 = yourstring.split('|');
var array = string1[2] .split(',');
建立一个选择:
array.forEach(function(entry) {
var x = document.createElement("OPTION");
x.setAttribute("value", entry);
var t = document.createTextNode(entry);
x.appendChild(t);
input.appendChild(x);
});
答案 4 :(得分:0)
您需要使用java脚本的拆分功能。实施例
var newstring=string.split('|');
var laststring=newstring[2].split(",");// new string
var yourneed=laststring[1];