Проверка входных данных флажка Jquery - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть следующий флажок

<input type="checkbox" name="compare[]" value="<?php echo $product_id  ?>" />

Теперь я хочу, чтобы мои пользователи выбирали минимум три и максимум три опции из вышеупомянутого флажка. Нарушение любого из правил приведет к сообщению.

Не могли бы вы помочь мне, как это сделать с помощью Jquery?

Заранее спасибо

Ответы [ 3 ]

2 голосов
/ 07 декабря 2011

Вот 1 решение

var $chkbox = $('input[name=compare]');
$chkbox.click(function (e) {
    if ($chkbox.filter(':checked').length > 3) {
        e.target.checked = false;
    }
});

http://jsfiddle.net/H96nz/

var $chkbox = $('input[type="checkbox"]');

$chkbox.click(function (e) {
    if ($chkbox.filter(':checked').length > 3) {
        e.target.checked = false;
    }
});
0 голосов
/ 07 декабря 2011

Вы можете зациклить свои флажки, используя jQuery.each () , проверяя проверенные элементы и добавляя проверки к количеству Затем, если число не равно 3, вы можете вывести сообщение об ошибке валидации.

$(function(){
$("#frm").submit(function(){
    var checkCount = 0;
    var min = 3;
    var max = 3;

    // iterate over checkbox's using jquery each()
    // use jquery's attribute contains selector ( http://api.jquery.com/attribute-contains-selector/ )
    // to grab the compare portion of the checkbox field name
    $("input[name*='compare']").each(function(k, v) {

    // increment check count when a checked checkbox is found
    if($(this).is(":checked"))
        checkCount++;
    });

    //validate checkbox count against predefined range
    if(checkCount < min || checkCount > max)
    {
        console.log("Checkbox Validation Failed");
        return false;
    }
    else
        console.log("Checkbox Validation Passed");

});
});
0 голосов
/ 07 декабря 2011

Попробуйте этот плагин: http://bassistance.de/jquery-plugins/jquery-plugin-validation/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...