簡體   English   中英

jQuery驗證插件多個復選框

[英]jQuery Validation Plugin Multiple Checkboxes

我在使用jQuery Validator插件時遇到了一些困難。 我有一個具有不同 name屬性的復選框列表,我似乎無法弄清楚如何確保至少選中了其中一​​個。 我在Google上發現的所有內容似乎都只能在name屬性相同的情況下才能使用。

這是一些示例代碼(已更新)

<ul id="email_lists">
    <li>
        <input name="checkbox1" type="checkbox" /> List 1
    </li>
    <li>
        <input name="checkbox2" type="checkbox" /> List 2
    </li>
    <li>
        <input name="checkbox3" type="checkbox" /> List 3
    </li>
    <li>
        <input name="checkbox4" type="checkbox" /> List 4
    </li>
</ul>

我要確保至少檢查了其中之一。 不幸的是,我不能使用與提交給第三方電子郵件營銷應用程序的表單相同的名稱,並且期望這些復選框具有特定的name屬性。

更新資料

我知道如何使用普通jQuery來執行此操作,但我更喜歡使用jQuery Validator插件,因為這是完成頁面上所有其他驗證的方式。

我可以通過說$('#email_lists li');來使用jQuery對這些復選框進行$('#email_lists li'); ,但我不太確定如何使用類似內容,並告訴jQuery Validator插件將其作為一個組使用。

假設您可以為復選框指定一個類名(jQuery需要使用一些東西 ):

<input class="validationGroupOne" name="checkbox1" type="checkbox" />
<input class="validationGroupOne" name="checkbox2" type="checkbox" />
<input class="validationGroupOne" name="checkbox3" type="checkbox" />
<input class="validationGroupOne" name="checkbox4" type="checkbox" />

您應該能夠插入.validationGroupOne類選擇器來代替通常的name屬性。

這是我的解決方案:-)

采用:

<div id="list">
<input name="chkbox" type="checkbox" />
<input name="chkbox" type="checkbox" />
<input name="chkbox" type="checkbox" />
<input name="chkbox" type="checkbox" />
</div>

<input type="hidden" name="the_real_field_name" />

然后在jQuery中驗證插件塊:

rules : {
       chkbox: "required"
        },

然后將值作為數組存儲到單個隱藏字段中,例如:

function updateInput() {
    var allVals = [];
    $('#list :checked').each(function() {
        allVals.push($(this).val());
    });
    $('#the_real_field_name').val(allVals);
}
$(function() {
    $('#list input').click(updateInput);
    updateInput();
});

暫無
暫無

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

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