Как проверить, установлен ли хотя бы один флажок в форме oop в Laravel? - PullRequest
1 голос
/ 22 января 2020

У меня есть коллекция флажков в моем приложении. Что я хочу сделать, это проверить, установлен ли хотя бы один из них, и включить кнопку отправки. В основном, проверка интерфейса. В соответствии с текущим кодом, пользователь должен установить все флажки. Я знаю, что это должно быть небольшой проблемой, но, поскольку я новичок в Laravel framework, меня немного смущает понимание. Пожалуйста, кто-нибудь, помогите мне здесь.

@foreach ($roles as $role)
    <li>
        {{ Form::checkbox('roles[]', $role->id, null, ['class="role-li"', 'required']) }}
        {{ Form::label($role->name, ucfirst($role->name)) }}
    </li>
@endforeach

Ответы [ 2 ]

1 голос
/ 22 января 2020

Попробуйте это

var checkboxes = $(".check-cls"),
    submitButt = $(".submit-btn");

checkboxes.click(function() {
    submitButt.attr("disabled", !checkboxes.is(":checked"));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1>Button should be enabled if at least one checkbox is checked</h1>

<form>
    <div>
        <input type="checkbox" name="roles[]" id="role-1" class="check-cls"> <label for="role-1">Role 1</label>
    </div>
    <div>
        <input type="checkbox" name="roles[]" id="role-2" class="check-cls"> <label for="role-2">Role 2</label>
    </div>
    <div>
        <input type="checkbox" name="roles[]" id="role-3" class="check-cls"> <label for="role-3">Role 3</label>
    </div>
    <div>
        <input type="checkbox" name="roles[]" id="role-4" class="check-cls"> <label for="role-4">Role 4</label>
    </div>
    <div>
        <input type="checkbox" name="roles[]" id="role-5" class="check-cls"> <label for="role-5">Role 5</label>
    </div>

    <div>
        <input type="submit" class="submit-btn" value="Submit" disabled>
    </div>
</form>

jsfiddle

1 голос
/ 22 января 2020
<form id="testform" action="/comment" method="post" class="m-0 mt-4">
    @for($i=0;$i<5;$i++)
        <input type="checkbox" name="vehicle1" value="Bike" class="role-li role{{$i}}" onclick='checktest()'> I have a bike<br>
    @endfor
</form>

<script>
        var minimumonechecked;
        var noofboxes = $('.role-li').length;
        function checktest(xyz) {
            minimumonechecked = false;
            for(i=0;i<noofboxes;i++){
                if ($('.role' + i).is(':checked')) {
                    minimumonechecked = true;
                }
            }
            console.log(minimumonechecked)
        };
</script>

у меня этот код работает :) 1002 *

...