2016-04-28 13 views
0

ユーザが選択するスイッチに応じて、2つの異なるモーダルを表示しようとしています。AngularJSとOnsen UIの切り替えに応じて異なるモーダルを表示

AngularJS、Onsen UI、Monacaを使用するクロスプラットフォームアプリです。

私は以下のように設定するスイッチがあります(ONS-ページ)同じページに続いて

<ul class="list"> 
    <li class="list__item"> 
     This is switch ONE 
     <label class="switch switch--list-item"> 
      <input type="checkbox" class="switch__input" checked id="show-modal" onclick="modal.show('switchOneModal')"> 
      <div class="switch__toggle"></div> 
     </label> 
    </li> 

    <li class="list__item"> 
     This is switch TWO 
     <label class="switch switch--list-item"> 
      <input type="checkbox" class="switch__input" checked id="show-modal" onclick="modal.show('switchTwoModal')"> 
      <div class="switch__toggle"></div> 
     </label> 
    </li> 
</ul> 

を私は以下のように切り替えられたスイッチに応じて、モーダルのいずれかを表示しようとしています。しかし、どのスイッチをクリックしても、常に同じモーダルに戻ります。私はこれでどこが間違っていますか?

<!-- Displays Modal ONE --> 
<ons-modal var="switchOneModal"> 
    <div class="alert-dialog-mask"></div> 

    <div class="alert-dialog alert-dialog--android"> 
     <div class="alert-dialog-title alert-dialog-title--android"> 
      <div style="text-align: center">Further Details</div> 
     </div> 

     <div class="alert-dialog-content alert-dialog-content--android"> 
      <div style="text-align: center; padding-top: 10px; padding-bottom: 15px; padding-left: 10px; padding-right: 10px;"> 
       <p>You selected switch ONE</p> 
      </div> 
     </div> 
    </div> 

    <div class="alert-dialog-footer alert-dialog-footer--one"> 
     <button class="alert-dialog-button alert-dialog-button--one" ng-click="modal.hide()">Cancel</button>    
    </div> 
</ons-modal> 

<!-- Displays Modal TWO --> 
<ons-modal var="switchTwoModal"> 
    <div class="alert-dialog-mask"></div> 

    <div class="alert-dialog alert-dialog--android"> 
     <div class="alert-dialog-title alert-dialog-title--android"> 
      <div style="text-align: center">Further Details</div> 
     </div> 

     <div class="alert-dialog-content alert-dialog-content--android"> 
      <div style="text-align: center; padding-top: 10px; padding-bottom: 15px; padding-left: 10px; padding-right: 10px;"> 
       <p>You selected switch TWO</p> 
      </div> 
     </div> 
    </div> 

    <div class="alert-dialog-footer alert-dialog-footer--one"> 
     <button class="alert-dialog-button alert-dialog-button--one" ng-click="modal.hide()">Cancel</button>    
    </div> 
</ons-modal> 
+0

その外観からは、おそらく 'modal.show'関数内に問題があるようです。あなたがそれを提供すれば、私たちがあなたを助けるのがより簡単になるでしょう。 –

+0

もう1つは、あなたのスイッチの両方が同じIDを持っていることです。それは起こりそうにありませんが、理論上、それが理由であることは不可能ではありません。 (もし奇妙なラベルロジックがidsやsthの入力を得ているならば)。全体的には、問題がなくてもこれを避けたいと思うでしょう:) –

+0

問題を見つけました。それは、モーダルを表示するメソッド呼び出しと関係がある。 onclick = "modal.show( 'switchTwoModal')" – heyred

答えて

0

同じ問題を抱えている他の人のために自分自身の質問に答える。

"これは、モーダルを表示するためのメソッド呼び出しと関係していましたが、onclick =" switchTwoModal.show( 'modal')」ではなくonclick = "modal.show( ' switchTwoModal ') ""

関連する問題