いわゆるモーダルを開き、チェックボックスの内容がそのまま反映されるようにしていますが、laravel側のvalueが空になってDBに入りません。JSからPHPに変換できていないらしいので、色々調べてみたのですが現状難しいです。ご助力をお願いいたします。
<app.blade.php>
<script>
$(function() {
// クリックでモーダルオープン
$('.trigger_method').on('click', function() {
$('#modal_method').modal('show');
});
var array = [];
change_input_value(array);
// チェックボックスをチェックしたら発動
$('input[name="method"]').click(function() {
// チェックされているか配列で管理
$number = $(this).val();
array[$number] = 1;
// チェックが外されたら配列のその値を削除
if ($(this)[0].checked == false) {
delete array[$number];
}
// 配列のkeyを渡す
change_input_value(Object.keys(array));
});
// input_methodタグのvalueを変更
function change_input_value(array) {
$input_values = $('#input_method');
$input_values.val(array);
}
});
</script>
<create.blade.php>
<div class="input-group input-group-lg mb-3"> <span class="input-group-text w-24 fw-bold ps-2" id="inputGroup-sizing-default" style="background-color: #ecee6c">方法</span> <div class="trigger_method w-11/12"> <input id="input_method" type="text" class="form-control form-control-lg" name="method_set" value="{{ old('method_set') }}" placeholder="ここをクリックしてください" disabled style="background-color: #f2f3b2" aria-label="Sizing example input" aria-describedby="inputGroup-sizing-default"> </div> <!-- Modal --> <div class="modal fade" id="modal_method" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content" style="margin-top:150px"> <div class="modal-header"> 選択してください </div> <div class="modal-body"> <div class="form-check form-check-inline"> <input class="form-check-input" type="checkbox" id="inlineCheckbox11" value="aa" name='method'> <label class="form-check-label" for="inlineCheckbox11">aa</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="checkbox" id="inlineCheckbox12" value="bb" name='method'> <label class="form-check-label" for="inlineCheckbox12">bb</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="checkbox" id="inlineCheckbox13" value="cc" name='method'> <label class="form-check-label" for="inlineCheckbox13">cc</label> </div></div> <div class="modal-footer"> <button type="button" id="methodClose" class="btn btn-primary" data-bs-dismiss="modal">保存して閉じる</button> </div> </div> </div> </div> </div>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。