Я пытаюсь заставить пользователя проверить 3 флажка из цикла в php. Я не получаю ошибок, но это не ограничивает количество выбора. Jquery

$(document).ready(function() {
    $('.single-checkbox').on('change', function() {
        var noChecked = 0;
        $.each($('.single-checkbox'), function() {
            if ($(this).is(':checked')) {
                noChecked++;
            }
        });
        if (noChecked >= 3) {
            $.each($('.single-checkbox'), function() {
                if ($(this).not(':checked').length == 1) {
                    $(this).attr('disabled', 'disabled');
                }
            });
        } else {
            $('.single-checkbox').removeAttr('disabled');
        };
    });
});

PHP :

$query="SELECT course.name FROM course";
$results=mysqli_query($dbhandle,$query) or die(mysqli_error($dbhandle));
while ($rows=mysqli_fetch_assoc($results)) {

print("<td><input class='single-checkbox' type='checkbox' id='ch' /></d> <td>".$rows['name']."</td>");

Все работает, но ограничение не работает. Заранее спасибо.

1
Kim YOOKO 24 Окт 2018 в 02:27

2 ответа

Лучший ответ

Просто проверьте количество отмеченных полей; если он слишком высок, не позволяйте ставить галочку!

$(".single-input").on("change", function() {
    if (this.checked && $(".single-input:checked").length > 3) {
        this.checked=false;
        return false;
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="single-input" /><br/>
<input type="checkbox" class="single-input" /><br/>
<input type="checkbox" class="single-input" /><br/>
<input type="checkbox" class="single-input" /><br/>
<input type="checkbox" class="single-input" /><br/>
<input type="checkbox" class="single-input" /><br/>
2
miken32 23 Окт 2018 в 23:36

Я предлагаю вам проверить, действительно ли JQuery получает объект HTML, в вашем коде вы используете $ (this), что было бы правильно, возможно, с помощью группы флажков вы можете попробовать для $ ("# checkboxId"), чтобы условие IF удовлетворяется и увеличивает свою переменную счетчика. Узнать больше: Проверьте, установлен ли флажок с помощью jQuery

1
Ragner Moura 23 Окт 2018 в 23:46
52959091