单击提交按钮后如何检查页面上的单选按钮?

时间:2014-06-21 14:13:43

标签: javascript jquery html

请帮助解决这种情况:我有一个带有radiobuttons的页面:

<label>Delivery type:</label>
<input type="radio" name="delivery" value="7" class="delivery-item" id="del-type-7"  onclick=""><label class="label" for="del-type-7">From our office</label>
<input type="radio" name="delivery" value="6" class="delivery-item" id="del-type-6" onclick=""><label class="label" for="del-type-6">Mail Service</label>
<input type="radio" name="delivery" value="5" class="delivery-item" id="del-type-5" onclick=""><label class="label" for="del-type-5">AIR MAIL</label>
<input type="button" value="Submit order" id="order-button">

如果按下提交按钮后是否检查了任何单选按钮,我如何通过jquery检查?如果不是,则使用文本制作警报窗口:“请选择交付类型”。谢谢你的帮助!

3 个答案:

答案 0 :(得分:2)

使用jquery .is() / .prop():checked选择器。试试这个:

$('#order-button').click(function() {
    if (!$('.delivery-item').is(':checked')) {
        alert('Please choose delivery type');
    }
});

DEMO

$('#order-button').click(function() {
        if (!$('.delivery-item').prop(':checked')) {
            alert('Please choose delivery type');
        }
});

DEMO

答案 1 :(得分:1)

这是一个有效的示例,您无需为每个input指定代码:

$('#order-button').click(function() {
    var elementCount = $('.delivery-item').length;
    var temporaryInteger = 0;
    $(".delivery-item").each(function(){
        if(!($(this).is(':checked'))){
            temporaryInteger++;
        } 
    });
    if(temporaryInteger === elementCount){
        alert("Please, choose delivery type");
    }
});

上面的代码使用类delivery-item循环遍历每个元素,并操纵变量以确定是否显示警报。

示例JSFIDDLE:http://jsfiddle.net/L45v9/

编辑:与其他答案者相比,此代码的优雅程度要低得多。使用他们的!

答案 2 :(得分:0)

您可以使用:checked选择器,并测试length。如果是0,则没有选中的单选按钮:

$('#order-button').click(function() {
    if (!$('.delivery-item:checked').length) {
        alert('Please, choose delivery type...');
    }
});

Example Fiddle