簡體   English   中英

確保選中40個以上的單選按鈕中的至少1個

[英]Making sure at least 1 of 40+ radio buttons is checked

我正在使用jquery.validate表單表單驗證。 問題是大約有40個無線電輸入,形式為s1_AMs1_PMs2_AMs2_PM ,每個都有大約10個radio輸入。 至少要檢查四個選項之一,而不是全部四個。 如果我在代碼中放入class="required" ,那是不正確的,因為它使所有四個選項成為必需。 我該如何解決?

理想情況下,id喜歡按原樣進行驗證,但是如果無線電是空的,則添加警報。

jQuery的

jQuery.validator.messages.required = "";
$("#enroll").validate({
invalidHandler: function(e, validator) {
    var errors = validator.numberOfInvalids();
    if (errors) {
        var message = errors == 1
            ? 'You missed 1 required field'
            : 'You missed ' + errors + ' required fields';
        $("div.Error span").html(message);
        $("div.Error").show();
    } else {
        $("div.Error").hide();
    }
}
});

收音機是動態的:

if($row['s1_AM_fill'] < $row['s1_AM_cap']) {
   $s1_AM .= '<input type="radio" name="s1_AM" id="s1_AM_'.$id.'" value="'.$id.'" />;
}

再加上三個,分別是s1_PMs2_AMs2_PM

這是我的工作,除了警報啟動后,警報不會停止

$('#submit').click(function () {$("ul.courses").each(function(){
  $(this).find("input[type=radio]").each(function(){
    alert("You must select at least 1 available course");
});
return false;
});

您不應使用僅可能會干擾插件的內置事件處理程序的其他submitclick處理程序功能。

您只需使用插件的內置addMethod()方法創建一個新規則。 像這樣

jQuery.validator.addMethod('customrule', function() {
    return ($("input[name='s1_AM']:checked").val() || $("input[name='s1_PM']:checked").val() || $("input[name='s2_AM']:checked").val() || $("input[name='s2_PM']:checked").val());
}, 'Please select from at least one group' );

新規則檢查是否使用了四個radio組中的至少一個。 該規則適用如下...

$(document).ready(function() {

    $('#enroll').validate({ // initialize the plugin
        rules: {
            's1_AM': {
                customrule: true
            },
            's1_PM': {
                customrule: true
            },
            's2_AM': {
                customrule: true
            },
            's2_PM': {
                customrule: true
            }
        },
        groups: { // use this option to consolidate the four messages into one
            groupname: "s1_AM s1_PM s2_AM s2_PM"
        }
    });

});

工作演示: http : //jsfiddle.net/93jTZ/

您需要根據自己項目的規范調整錯誤放置功能。

其他選項: http : //docs.jquery.com/Plugins/Validation/validate#toptions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM