数组输入字段名称到对象

时间:2013-11-13 19:27:06

标签: javascript jquery forms

如何从名为this:

的字段中断输入值
<input name="options[abc][def]">

类似

{'options' : { 'abc' : { 'def' : value_of_input } } }

我试过

$('form').serializeArray()

但是我得到了一个二维对象,其名称为

项[ABC] [DEF]

:|

2 个答案:

答案 0 :(得分:1)

我找到了这个库,它正是这样做的:formToObject.js

<form id="testForm">
    <input name="options[abc][def]" value="test">
    <input type="button" value="Convert to object &raquo;" id="convertBtn">
</form>

<script src="formToObject.js"></script>
<script>
    document.getElementById('convertBtn').addEventListener('click', function() {
        console.log(new formToObject('testForm'));
        // Output: {"options":{"abc":{"def":"test"}}}
    });
</script>

答案 1 :(得分:1)

为什么不呢:

HTML:

<div id="test"></div>

脚本:

var opt = {'options' : { 'abc' : { 'def' : "value" } } };
document.getElementById("test").innerHTML = '<input type="text" name="' + opt + '" placeholder="'+ opt + '"/>';

<强> JSFIDDLE