单选按钮返回到上一个选择

Radio buttons return to previous selection

本文关键字:选择 上一个 返回 单选按钮      更新时间:2023-09-26

所以我希望这些单选按钮像这样工作:当选择一个按钮(在window.confirm之后)并取消确认时,返回到先前选择的单选按钮。

编辑:

我有一个 3 个单选按钮,当您选择其中任何一个时,会出现一个确认框。取消确认后,我希望选中的单选按钮是新选择之前的单选按钮。

你可以做这样的事情(用jQuery):

$( document ).ready(function() {
    //global variable to be able to go back to previous checked checkbox 
    //checkbox 1 checked by default
    var $current_chkbox = $('#my_chkbox1');
    $('#my_chkbox1, #my_chkbox2, #my_chkbox3').click(function(){
        // if user confirms, just change the global variable
        if(window.confirm('my message')){
            $current_chkbox = $(this);
        }
        // if he cancel (ie click no), uncheck current checked checkbox and recheck the previous checked one
        else{
            $(this).attr('checked', '');
            $current_chkbox.attr('checked', 'checked');
        }
    });
}
你可以

这样使用 -

<input type="radio" value="1" onclick="return confirmation()" name="collections">
<input type="radio" value="2" onclick="return confirmation()" name="collections">
<input type="radio" value="3" onclick="return confirmation()" name="collections">
<script>
function confirmation(){
	if(confirm("Are you sure!"))
	{
		//do your job
	}
	else
	{
		return false;
	}
}
</script>

尝试使用 return onclick

var sure = function(s) {
  return confirm('Wana buy:' + s + ' ?');
};
<input type='radio' name='item' onclick='return sure(this.value)' value='Apple' checked/>Apple
<input type='radio' name='item' onclick='return sure(this.value)' value='Grape' />Grape
<input type='radio' name='item' onclick='return sure(this.value)' value='Mango' />Mango

试试这个:

JavaScript:

var radioVal = "none";
var radioConfirm = '';
function example(e)
{
       if(e.checked == true)
       {
          if(confirm("Is this the value you want to choose?"))
          {
              radioVal = e.value;
              radioConfirm = e;
          }
           else
           {
             radioConfirm.checked = true; 
           }
       }
}

目录:

1 <input type="radio" onclick="javascript:example(this)" value='1' name='test'/>
2 <input type="radio" onclick="javascript:example(this)" value='2' name='test'/>
3 <input type="radio" onclick="javascript:example(this)" value='3' name='test'/>

当确认框被确认(给定真值)时,将存储以前的 DOM 元素。每当您取消确认框时,您之前存储的 DOM 元素将被选中并选中设置为 true。

如果您是第一次取消,则没有先前的选择,因此您甚至可以检查:

if(!radioConfirm == '')
{
  radioConfirm.checked = true; 
}
else
{
  e.checked = false; 
}

这样,如果您之前没有确认过,则取消选中检查

js小提琴

<小时 />

正如你看到的jQuery的答案@OlivierH它更容易使用。所以进入那个:)并不是浪费