单选按钮返回上一个选择

时间:2013-11-13 14:45:13

标签: javascript html

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

编辑:

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

4 个答案:

答案 0 :(得分:1)

你可以这样做(用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');
        }
    });
}

答案 1 :(得分:1)

您可以这样使用

<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>

答案 2 :(得分:1)

使用return:

尝试onclick

&#13;
&#13;
var sure = function(s) {
  return confirm('Wana buy:' + s + ' ?');
};
&#13;
<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
&#13;
&#13;
&#13;

答案 3 :(得分:0)

试试这个:

<强>的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; 
           }
       }
}

<强> HTML

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; 
}

这样,如果您未在

之前确认,则将取消选中该检查

<强> jsFiddle


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