所以我有下面的 JavaScript 代码。我试图做到这一点,以便每当用户在确认框中点击取消时。他们之前选择的选项将被重新选择。替代前一个的另一个选项是,我们是否可以让它根据值“A”选择选项 2,而不是我当前基于 radio 名称数组选择选项 2 的方式。
<script type="text/javascript">
function confirmUnschedule() {
var checked = false;
var element = "";
var inputs = document.getElementsByName('Acceptance');
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].checked) {
checked = true;
element = inputs[i];
break;
}
}
if(checked==true){
if (!confirm('Scheduling will be undone if you change the rating. Are you Sure?')){
inputs[1].checked=true;
};
};
}
</script>
<input type='radio' name='Acceptance' value=' ' checked='checked' onclick='confirmUnschedule()'>option 1
<br/>
<input type='radio' name='Acceptance' value=' A' onclick='confirmUnschedule()'>option 2
<br/>
<input type='radio' name='Acceptance' value=' R' onclick='confirmUnschedule()'>option 3
<br/>
最佳答案
如果您让函数返回 false,则事件将中止并且单选按钮组将返回到之前的状态。
编辑:在 onclick 属性中也使用 return。
HTML
<input type='radio' name='Acceptance' value=' ' checked='checked' onclick='return confirmUnschedule();'>option 1
<br/>
<input type='radio' name='Acceptance' value=' A' onclick='return confirmUnschedule();'>option 2
<br/>
<input type='radio' name='Acceptance' value=' R' onclick='return confirmUnschedule();'>option 3
<br/>
Javascript
function confirmUnschedule() {
var checked = false;
var element = "";
var inputs = document.getElementsByName('Acceptance');
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].checked) {
checked = true;
element = inputs[i];
break;
}
}
if (checked === true) {
if (!confirm('Scheduling will be undone if you change the rating. Are you Sure?')) {
return false;
}
}
}
jsFiddle = http://jsfiddle.net/ahsjoe0x/
关于javascript单选按钮返回先前检查的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26223952/