Как отправить массив модалу для использования в блейде Laravel 5.5 с in_array для флажков, чтобы установить проверенный атрибут? - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь передать массив модальной модели после получения ответа от вызова ajax на функцию eventClick () в fullcalendar v3

// в моем разделе javascript blade-сервера

Это дает хорошие данные, но мне нужно отправить коды тегов модальному и массиву, как этот ..

$tagCodes 

, который должен быть массивом, подобным этому.

'AM','FLEX'

A,Я не знаю, как сделать его пригодным для использования массивом.

B. Мне нужно отправить его во внешний интерфейс как переменную с именем $ tagCodes, которая является массивом.

eventClick: function (event, jsEvent, view) {
    let id = event.id;
    let tag_codes = event.tag_codes;
    console.log(tag_codes.split(" ").join(",").replace(/,\s*$/, ""));

    ( which is giving me this AM,FLEX )

    $.ajax({
        url: '/agenda/' + id,
        type: 'GET',
        data: {},
        dataType: 'json',
        success: function (data) {
            $('#calendarModal input[name=id]').val(data.calendar.id);
            $("#calendarModal .tagCodes").html(tag_codes.split(" ").join(",").replace(/,\s*$/, ""));
            $('#calendarModal').modal();
        }
    });
}

// в моем модальном разделе

<div class="col-12">

    <div class="row">
        <div class="col-12 tagCodes"></div>
        @foreach($tags as $tag)
        <div class="col-3 text-center">
            <label>
                <input type="checkbox"
                id="tag-{{ $tag->id }}" name="tags[]" value="{{ $tag->id }}"
                @if( in_array($tag->code, [THIS IS WHERE IM TRYING TO SEND THE ARRAY]) ) checked @endif
                > {{ $tag->code }}
            </label>
        </div>
        @endforeach
    </div>
</div>

1 Ответ

1 голос
/ 25 октября 2019

Измените это

<input type="checkbox"
                id="tag-{{ $tag->id }}" name="tags[]" value="{{ $tag->id }}"
                @if( in_array($tag->code, [THIS IS WHERE IM TRYING TO SEND THE ARRAY]) ) checked @endif
                >

на

 <input type="checkbox" id="tag-{{ $tag->code }}" name="tags[]" value="{{ $tag->id }}">

, затем в JavaScript сделайте это.

var codes = tag_codes.split(" ");
for(var i=0;i<codes.length;i++)
$('#tag-'+codes[i]).prop('checked', true);
...