1

我正在处理一个以搜索自动完成(ajax,jQuery UI)字段开头的表单,该字段允许用户选择数据库中已经存在的记录。选择记录后,将为用户填写表单其余部分中的字段。这很好用。

在表单中有一组字段共同描述一个“小部件”。这是在触发自动完成之前存在的标记示例;

<fieldset id="widgets">
    <div id="widget_1">
        <input type="text" name="widgets[0][name]" />
        <input type="text" name="widgets[0][color]" />
        <input type="text" name="widgets[0][shape]" />
        <input type="text" name="widgets[0][size]" />
    </div>
</fieldset>

name以这种方式构造了属性,希望在提交表单时我能在后端得到一个很好的结构。此标记在页面加载时存在,以允许用户将小部件添加到记录(如果当前不存在)。

我想象当添加额外的小部件时,结构将变成这样。我应该注意,底部应该始终有一组空的小部件字段,以便用户将新小部件添加到现有记录中。

<fieldset id="widgets">
    <div id="widget_1">
        <input type="text" name="widgets[1][name]" value="Alpha" />
        <input type="text" name="widgets[1][color]" value="Red" />
        <input type="text" name="widgets[1][shape]" value="Triangle" />
        <input type="text" name="widgets[1][size]" value="Large" />
    </div>

    <div id="widget_2">
        <input type="text" name="widgets[2][name]" />
        <input type="text" name="widgets[2][color]" />
        <input type="text" name="widgets[2][shape]" />
        <input type="text" name="widgets[2][size]" />
    </div>

    ...

</fieldset>

自动完成 ajax 返回一个不错的 JSON 结构,其中包含一个包含所有要解析的小部件的记录的数组。

将分组的小部件字段添加到此结构的最佳方法是什么?向包装器添加增量是否是id让我密切关注哪一行内容的好方法(或者数据属性会更好)?

我只是想更好地处理我应该如何解决这个问题。

4

0 回答 0