Alt*_*PHP 13 jquery jquery-selectors
我必须处理由第三部分生成的表单.此表单提供了一些复选框"多选"属性.但是输入名称是相同的,并且PHP $ _POST无法处理相同的键(仅处理最后的数据).
以下是表单的示例:
<form>
<input type="checkbox" name="attr1" value="1" />
<input type="checkbox" name="attr1" value="2" />
<input type="checkbox" name="attr1" value="3" />
<input type="checkbox" name="attr1" value="4" />
<input type="checkbox" name="attr2" value="xx" />
<input type="checkbox" name="attr3" value="a" />
<input type="checkbox" name="attr3" value="b" />
<input type="checkbox" name="attr3" value="c" />
<input type="checkbox" name="attr3" value="d" />
<input type="text" name="attr4" value="" />
</form>
Run Code Online (Sandbox Code Playgroud)
我想解析所有复选框输入,只获取相同名称输入的组,并在其名称后附加"[]"...
我想在jQuery处理后得到什么:
<form>
<input type="checkbox" name="attr1[]" value="1" />
<input type="checkbox" name="attr1[]" value="2" />
<input type="checkbox" name="attr1[]" value="3" />
<input type="checkbox" name="attr1[]" value="4" />
<input type="checkbox" name="attr2" value="xx" />
<input type="checkbox" name="attr3[]" value="a" />
<input type="checkbox" name="attr3[]" value="b" />
<input type="checkbox" name="attr3[]" value="c" />
<input type="checkbox" name="attr3[]" value="d" />
<input type="text" name="attr4" value="" />
</form>
Run Code Online (Sandbox Code Playgroud)
有没有办法识别具有相同名称的输入组?
Sha*_*hin 21
[]如果存在具有相同名称的另一个项目,则将附加到每个复选框项目的名称.
var name_map = {};
$("input[type=checkbox]") // for all checkboxes
.each(function() { // first pass, create name mapping
var name = this.name;
name_map[name] = (name_map[name]) ? name + "[]" : name;
})
.each(function() { // replace name based on mapping
this.name = name_map[this.name];
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52601 次 |
| 最近记录: |