现在有一个URL需要拼成白班:2:3:5,夜班:3:4:6
这种格式,是动态增删生成的,这是两行数据,每行中间用逗号分隔,直接取的表单里面的值。
但是我用$("#form1").serialize()只能得到a=白班&b=2&c=3&d=5&a=夜班&b=3&c=4&d=6
这种样子的数据。请问有什么办法能变成上面需要的样子吗?
<form id="form1">
<label>工作种类:</label>
<select name="a">
<option>白班</option>
<option>夜班</option>
</select>
<input type="text" name="b" value="2">
<input type="text" name="c" value="3">
<input type="text" name="d" value="5">
</form>
我的想法是替换&符号然后拆开,删掉每个部分的前两个字符,最后再重新拼起来,但是怎么也拼不出来:
var cc=$("#form1").serialize();//针对多行的时候cc='a=白班&b=2&c=3&d=5&a=夜班&b=3&c=4&d=6';
var dd=cc.replace(/=/g,"");//去掉等于号
var bbb=dd.split(":");//从冒号开始拆分
for(var i in bbb) {//往下就出错了
var ccc=bbb[i];
var ddd=ccc.slice(2);
var str="";
console.log(str.concat(ddd));
};
有人推荐用正则,但是正则对于多行的时候好像就没有办法很好的拼接了,我的name是可以为a-z的字母的,最后在拼出来的url里面是不需要name的。
其实正则是最优解。
2333,手动滑稽。
更新
应题主的要求