2017-05-12 6 views
0

에 위젯을 숨기기 : 나는 자바 스크립트 코드를 다음 한표시 및 내보기 파일에 코드를 다음 한 오름차순

<?php for ($x = 1; $x <= 5; $x++) { 
    echo $this->widget('application.components.FileUploadWidget',array(
    'model'=>$model, 
    'attribute'=>'f__10_'.$x, 

    'htmlOptions'=>array('class'=>'form-control') 
),true); 

} 

?> 


<div class="form-group"> 
    <div class="col-xs-12 col-sm-2 pull-right" style=""> 
     <button id="adding" href="#" rel=".copy" class="pull-right add-item btn btn-success" type="button""> 
     <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>Add</button> 
    </div> 
</div> 
<div class="form-group"> 
    <div class="col-xs-12 col-sm-2 pull-right" style=""> 
     <button id="remove" href="#" rel=".copy" class="pull-right add-item btn btn-danger" type="button""> 
     <span class="glyphicon glyphicon-minus" aria-hidden="true"></span></button> 
    </div> 
</div> 

그리고 :

<script> 
    $(document).ready(function(){ 
     $("#Form_f__10_1, #Form_f__10_2, #Form_f__10_3, #Form_f__10_4, #Form_f__10_5").hide(); 

     $("#remove").click(function(){ 
      $("#Form_f__10_1").hide(); 
     }); 
     $("#adding").click(function(){ 
      $("#Form_f__10_1").show(); 
     }); 
    }); 

</script> 

(자바 스크립트 코드가 완전하지 않습니다). 사용자가 추가 버튼을 누르면 어떤 속성이 f__10_1과 동일한 위젯이 나타나야합니다. 사용자가 다시 버튼을 누르면, 위젯에 어떤 속성이 f__10_2와 같은지 보여줘야합니다. 이 과정은 위젯의 속성이 f__10_5와 동일해질 때까지 수행되어야한다. JavaScript로 어떻게 할 수 있습니까?

+0

정확히 어떻게 코드 작업을 원하십니까? –

+0

현재 양식 ('current = "Form_f__10_1"')을 문자열로 제공 한 다음 "#remove"와 "#adding"의 두 함수에서 해당 문자열의 마지막 문자를 적절한 숫자로 바꿉니다. (나는 PHP를 말하지 않기 때문에 다른 사람이 코딩해야한다.)) – CFrei

답변

0

"스택"메커니즘을 사용해야합니다. 표시된 위젯의 수를 (글로벌로 도달 가능한) 카운터에 저장하십시오. 예를 들어 widget_counter입니다. -> widget_counter ++ 및 요소를 보여

  • '추가'를 누르면 -> widget_counter ++ 및 요소를 보여
  • '제거'를 누르면 -> widget_counter--

    1. 누르면 '추가'이 작동하는 방법이다 5 또는 0에 도달하면
    2. 등등 ...

    는, 아무것도하지 않는 요소를 숨 깁니다. 카운터 변수에서 표시된 실제 (= 마지막) 위젯을 가져올 수 있으며 그 다음 요소의 이름을 빌드 할 수 있습니다.