私は薬物リマインダーアプリを構築しており、ユーザーがボタンをクリックすることで機能し、現在の時間に基づいてユーザーが取るべき薬を表示します。ユーザーがMed AとMed Bを午後3時に取得する必要がある場合は、午後3時にボタンをクリックすると、Med AとMed Bの2つのチェックボックスが表示されますが、なぜあなたはMed Bを取っていないのですか?ドロップボックスを使用して、ユーザーが理由を選択できるようにします。チェックボックスに基づいてアラートを表示する
しかし、現時点では、ユーザーが「Med A」にチェックをしただけでは、「Med CとMed Cを選んだ理由は何ですか?」というメッセージが表示されます。チェックボックスを押すと、別の時間に撮影する必要があるため表示されませんでした。したがって、特定の時間にどのような投薬が必要なのかは問題ではありません。システムは、現在の表示チェックボックス(時間に基づいて表示される)に基づいてではなく、常にすべてのチェックボックスオプションに基づいて尋ねます。
JS:
function validate() {
var msg = [];
[].forEach.call(document.querySelectorAll('input[type="checkbox"]:not(:checked)'), function(elem, index) {
msg.push(elem.name);
});
navigator.notification.alert(msg.length ? 'Why didnt you take ' + msg.join(' and ') : 'Well done, you have taken all the medications!', alertDismissed, 'Message for you:','Done');
}
function showDiv(){
if(document.querySelectorAll('input[type="checkbox"]:not(:checked)').length==0) {
hide();
}else{document.getElementById('welcomeDiv').style.display = "block";}
}
function myFunction(){
var hour = (new Date()).getHours();
showMed('A', hour == 15);
showMed('B', hour == 15);
showMed('C', hour == 19);
}
function showMed(med, show) {
document.getElementById('med' + med).style.display = show ? '' : 'none';
}
HTML
<div class="inner" id=text><button onClick="myFunction()" >Check</button></div>
</div>
<div id=aa style="display:none">
<form>
<div id='medA'>
<input type="checkbox" name="Med A" value="A">Medication A
</div>
<div id='medB'>
<input type="checkbox" name="Med B" value="B">Medication B
</div>
<div id='medC'>
<input type="checkbox" name="Med C" value="C">Medication C
</div>
<div id="welcomeDiv" style="display:none;" class="dropdown" title="Basic dialog">
<select>
<option value="" disabled="disabled" selected="selected">Please choose one</option>
<option value="forget">Forget to take</option>
<option value="notfeeling">Not feeling like taking it</option>
<option value="sideeffect">Worried about side-effects</option>
<option value="sideeffect">Run out of supplements</option>
<option value="misclick">Misclick</option>
<option value="others">Others</option>
</select>
<input id="btnbutton" class="btn" type="button" onClick="know();hide()" value="Submit">
</div>
<input id=xbutton type="button" onClick="validate();showDiv()" value="Submit">
</form>
これに対してjsfiddleなどを作成できますか?なぜ私の答えがうまくいかないのか分からないので、それはとても役に立ちます。 – Whothehellisthat