Флажок Javascript при клике
У меня есть форма с двумя флажками.
Флажок A = 1500 долларов Флажок B = 1500 долларов
Что я хочу сделать, так это то, что когда флажок "установлен", я хочу отобразить $1500 и добавить в скрытое значение. Если флажок снят, вычтите 1500 долларов.
Когда оба флажка отмечены, я хочу, чтобы друг с другом выполнялось сложение, а это значит, что я хочу, чтобы значение "3000 долларов" в сумме вычиталось соответственно.
В настоящее время с моими кодами я могу заставить его работать только для одного флажка, что означает, что, когда флажок установлен, он будет составлять 1500 долларов, а когда один снимается обратно, он вычитается. Я не знаю, как совместить флажок A и флажок B.
Пожалуйста, посмотрите мои коды и помогите мне.
HTML
<label>
<input type="checkbox" name="Meeting" onClick="if (this.checked) { onCheck3() } else { onUncheck3() }" value="Pre-Meeting 1" id="Meeting" />
Pre-Meeting 1
</label>
<label>
<input type="checkbox" name="Meeting" onClick="if (this.checked) { onCheck4() } else { onUncheck4() }" value="Pre-Meeting 2" id="Meeting" />
Pre-Meeting 2
</label>
<input type="text" name="PreMeetingAmount" readonly id="PreMeetingAmount" /><input type="hidden" name="PreMeetingAmounthidden" readonly id="PreMeetingAmounthidden" />
Javascript
function onCheck3(){
t = document.form1.PreMeetingAmount.value;
t2 = 0;
if (t == 0) {
document.form1.PreMeetingAmount.value = 1500;
}
}
function onCheck4(){
t = document.form1.PreMeetingAmount.value;
t2 = 0;
if (t == 0) {
document.form1.PreMeetingAmount.value = 1500;
}
}
function onUncheck3(){
t = document.form1.PreMeetingAmount.value;
t = t - 1500;
if (t == 0)
document.form1.PreMeetingAmount.value = document.form1.PreMeetingAmounthidden.value;
else
document.form1.PreMeetingAmount.value = t;
}
function onUncheck4(){
t = document.form1.PreMeetingAmount.value;
t = t - 1500;
if (t == 0)
document.form1.PreMeetingAmount.value = document.form1.PreMeetingAmounthidden.value;
else
document.form1.PreMeetingAmount.value = t;
}
1 ответ
Вы всегда устанавливаете значение 1500. Вам нужно добавить 1500 вместо 1500. Попробуйте изменить onCheck3 и onCheck4, как показано ниже:
function onCheck3() {
t = Number( document.form1.PreMeeting.value );
document.form1.PreMeeting.value = t + 1500;
}