2013-04-29 3 views
0

property-container이라는 div에 중첩 된 입력 필드의 이름을 바꾸려고합니다. 사용자는 복수 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> 

동적으로 생성되고 이것은 내가 $.each() 방법 내부 system_id를 인쇄시피 내가 그들에게

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 필드 이름이 1 인 44라고 가정 해 봅시다. 이유가 무엇인지 이해하지 못합니다.

+0

우리가 당신의 HTML의 예를 볼 수보십시오? '.index'가 왜 –

+0

'.next(). next(). next(). next()'~를 정말로 돌려 보내지 않는 많은 이유가있을 수 있습니다. – Sparky

+0

@ Sparky 더 나아질 제안이 있으십니까? – u54r

답변

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]'); 
}); 
+0

나는 그것을 위에 고쳤다. 감사. 어떻게 개선 될 수 있습니까? 나는 next()를 여러 번 사용하는 것을 좋아하지 않는다. 어떤 충고? – u54r

관련 문제