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>
その外観からは、おそらく 'modal.show'関数内に問題があるようです。あなたがそれを提供すれば、私たちがあなたを助けるのがより簡単になるでしょう。 –
もう1つは、あなたのスイッチの両方が同じIDを持っていることです。それは起こりそうにありませんが、理論上、それが理由であることは不可能ではありません。 (もし奇妙なラベルロジックがidsやsthの入力を得ているならば)。全体的には、問題がなくてもこれを避けたいと思うでしょう:) –
問題を見つけました。それは、モーダルを表示するメソッド呼び出しと関係がある。 onclick = "modal.show( 'switchTwoModal')" – heyred