0

我正在尝试重命名嵌套在名为property-container. 用户可以创建多个property-container. 每次用户创建此 div 时,我都想相应地重命名输入字段。这是我动态生成的表格

<div class="property-container">
 <input type="hidden" name="proposal[process][systems][1][id]">
 <input type="hidden" name="proposal[process][systems][1][name]">
 <input type="hidden" name="proposal[process][systems][1][stations][1][id]">
 <input type="hidden" name="proposal[process][systems][1][stations][1][name]">
 <input type="hidden" name="proposal[process][systems][1][stations][1][price]">
</div>

这就是我重命名它们的方式

stationFieldsNames:function(station_container, systemNumber){
        station_container.find('.property-container').each(function(i, s){
            var hidden = $('.property-container input[type=hidden]:first');
            var system_id = station_container.index('div');
            $(this).append('SCI inside '+system_id);
            hidden.attr('name','proposal[process][systems]['+ system_id +'][id]');
            hidden.next().attr('name','proposal[process][systems]['+ system_id +'][name]');
            hidden.next().next().attr('name','proposal[process][systems]['+ system_id +'][stations]['+i+'][id]');
            hidden.next().next().next().attr('name','proposal[process][systems]['+ system_id +'][stations]['+i+'][name]');
            hidden.next().next().next().next().attr('name','proposal[process][systems]['+ system_id +'][stations]['+i+'][price]');
        });

如您所见,我打印出方法system_id内部,$.each()并且每次看到数字都是正确的,但字段名称中的值不一样。如果system_id让我们说 44 字段名称是 1。我不明白它为什么这样做。

4

1 回答 1

0

尝试

station_container.find('.property-container').each(function(i, s){
    var hidden = $('input[type=hidden]:first', this);
    var system_id = $(this).index();
    $(this).append('SCI inside '+system_id);
    hidden.attr('name','proposal[process][systems]['+ system_id +'][id]');
    hidden.next().attr('name','proposal[process][systems]['+ system_id +'][name]');
    hidden.next().next().attr('name','proposal[process][systems]['+ system_id +'][stations]['+i+'][id]');
    hidden.next().next().next().attr('name','proposal[process][systems]['+ system_id +'][stations]['+i+'][name]');
    hidden.next().next().next().next().attr('name','proposal[process][systems]['+ system_id +'][stations]['+i+'][price]');
});
于 2013-04-29T03:46:53.783 回答