我有一个表单,允许用户自动向其中添加字段块。由于各种原因,这些字段需要与其块中的其他字段相关联。我通过将每个块中的所有字段放入数组中来完成此操作,如下所示
<select name="items[0][item_type]" class="item_type">
<option value="0">Bulding / Landscaping</option>
<option value="1">Full / Thin Veneer</option>
</select>
<select class="select_custom" name="items[0][standard]">
<option value="0">Standard</option>
<option value="1">Custom</option>
</select>
这会给我一些类似的东西Array ( [0] => Array ( [item_type] => 0 [standard] => 1 ) )
,让我可以轻松地处理后端的数据。
问题是必须指定数组索引才能使其工作。当我追加一个像上面这样的新字段块时,我需要一种方法来更改所有items[][fieldname]
.
下面是我用来将输入块附加到文档的代码。它们都包含在一个 div 中,所以我只需克隆该 div 并将其附加到最后一个之后。
$('#more_fields').click(function(){
$('.field_group:first').clone(true).hide().insertAfter('.field_group:last').slideDown('slow');
var last = $('.field_group:last');
last.append(new_button.clone(true));
last.find('select').val([]);
last.find(".custom_products").css("display","none");
last.find(".unit_selection").css("display","none");
last.find(".landscape_selection").css("display","none");
last.find(".veneer_selection").css("display","none");
last.find(".comments_section").css("display","none");
last.find(".standard").css('display','none');
});