2017-05-12 17 views
0

にウィジェットを隠す:私はJavaScriptコード以下のいる表示と私は私のビューファイルのコードを次している昇順

<?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> 

(JavaScriptコードが不完全です)。ユーザーが追加ボタンを押すと、属性がf__10_1に等しいウィジェットが表示されます。ユーザーがもう一度[追加]ボタンを押すと、属性がf__10_2に等しいウィジェットが表示されます。このプロセスはウィジェットの属性がf__10_5に等しくなるまで行わなければなりません。 JavaScriptでどうすればいいですか?

+0

コードはどのようにしたいのですか? –

+0

現在のフォーム( 'current =" Form_f__10_1 "')を文字列として指定し、 "#remove"と "#adding"の2つの関数で、その文字列の最後の文字を適切な数値に置き換えます。 (私はPHPを話さないので、誰かがそれをコード化する必要があります;)) – CFrei

答えて

0

「スタック」メカニズムを使用する必要があります。表示されているウィジェットの数を(グローバルに到達可能な)カウンタに格納します。これは、たとえばwidget_counterです。 - > widget_counter ++ AND素子を示し

  • '追加' を押す - > widget_counter ++ AND素子を示し
  • '削除' を押す - > widget_counter--

    1. 押す '追加':これは、それがどのように動作するかをあります5または0に達した場合
    2. のように...

    は、何もしない要素を非表示にします。カウンター変数から表示された実際の(=最後の)ウィジェットを取得することができます。そして、それから次の要素の名前を構築することができます。

  • 関連する問題