选择不同的单选按钮会转到不同的html页面

时间:2013-07-08 18:55:58

标签: jquery radio

我有两组单选按钮,我想要执行以下操作:

1)当所有选择都为假时,显示验证消息。(这是有效的,但是当反复点击“保存”时,它会添加一个空行,我该如何防止这种情况?)。

2)如果仅选择了Set 1或Set 2,则在Save上显示另一个的错误消息。

3)。选择“设置1”时,“设置2”选项需要将用户带到不同的页面,具体取决于“是”或“否”。

提前致谢!!

Link to jsfiddle

<span id="val1" style="display:none; color:red;"> Please make a selection</span> 
<strong>Radio Set 3</strong>

<input type="radio" name="radio" id="attachYes" />Yes &nbsp;
<input type="radio" name="radio" id="attachNo" />
<label for="radio2">No</label>
<p> 
    <span id="val2" style="display:none; color:red;"> Please make a selection</span><strong>Radio Set 2</strong>
    <input type="radio" name="radio2" id="NotifYes" />Yes &nbsp;
    <input type="radio" name="radio2" id="NotifNo" />No
</p>
<p>
    <a href="#" id="Qbtn">Save</a>
</p>

JS

$('#Qbtn').click(function () {
    if ((!$('#attachYes').attr('checked') === true) && (!$('#attachNo').attr('checked') === true) && (!$('#NotifYes').attr('checked') === true) && (!$('#NotifNo').attr('checked')) === true) {
        //the validations are displaying correctly
        $('#val1').show().append('<br>');
        $('#val2').show().append('<br>');
    } else {
        if (($('#attachYes').attr('checked') === true) || ($('#attachNo').attr('checked') === true) && (!$('#NotifNo').attr('checked') === true) && ($('#NotifYes').attr('checked')) === true) {
            //the user should be taken to page1.html when clicking save and it isn't doing it                  
            window.location = "page1.html";

            //then how do I write if either of radio set 1 is true and #NotifNo of Radio set 2 is true go to page2.html.                
        }
    }
});

1 个答案:

答案 0 :(得分:1)

<强> Demo here

试试这个:

$('#Qbtn').click(function () {
    if ($('#attachYes').prop('checked') && $('#NotifYes').prop('checked')) {
        //go to http://www.yahoo.com         
        window.location = "http://www.yahoo.com";
    } else if ($('#attachYes').prop('checked') && $('#NotifNo').prop('checked')) { 
        //go to http://www.cnn.com                  
        window.location = "http://www.cnn.com";
    } else {
        //the validations are displaying correctly
        $('#val1, #val2').fadeOut('fast', function () {
            $(this).fadeIn('slow');
        });
    }
});

如果我理解你的问题,这就是你需要的。你真的想在每个错误上添加<br />吗?我添加了淡入/淡出以避免这种情况。希望没问题。