如何使用jquery选择器选择带有{{ $item->id }}的Bootstrap模态

How to use jquery selector to select Bootstrap Modal with {{ $item->id }}

提问人:Shadrick Kipamba 提问时间:11/17/2023 更新时间:11/18/2023 访问量:38

问:

我注意到,当 select2 处于模态中时,搜索输入不可聚焦,向上和向下键也不起作用。 jquery:3.6.1 选择 2:4.1.0

例如,我想使用 jQuery 选择器在我的引导模式中查找/选择 select2 搜索输入,例如 {{ $item->id }}。

<div class="modal modal-end" tabindex="-1" id="edit{{ $item->id }}" aria-labelledby="modalRightLabel">
    <div class="modal-header">
        <h5 id="modalRightLabel">EDIT FRUIT</h5>
        <button type="button" class="btn-close text-reset" data-bs-dismiss="modal " aria-label="Close"></button>
    </div>
    
    <div class="modal-body">
        <form action="/fruit/{{ $item->id }}" method="POST">
           {{ method_field('put') }}
           {{ csrf_field('') }}
    
           <div class="form-group mb-3">
               <label class="form-label">Fruit name</label>
               <input type="text" class="form-control" name="fruit" value="{{ $item->fruit_name}}" placeholder="Fruit Name" required>
                </div>
    
    
            <div class="form-group mb-3">
                 <label class="form-label">Category</label>
                 <select name="category" class="js-example-placeholder-single" required>
                     <option value="{{ $item->id }}">{{ $item->category }}</option>
                     <option value="Berries">Berries</option>
                     <option value="Tropical Fruits">Tropical Fruits</option>
                     <option value="Citrus Fruits">Citrus Fruits</option>
                 </select>
            </div>
    
            <div class="text-center">
                <button type="button" class="btn btn-danger label-btn me-2" data-bs-dismiss="modal" aria-label="Close"><i class="ri-close-line me-2"></i>Cancel</button>
                <button type="submit" class="btn btn-primary"> <i class="ri-checkbox-circle-line me-2"></i> <span>Save Changes</span></button>
            </div>
        </form>
    </div>
</div>

我试过这个

$(function(){
  $('.js-example-placeholder-single').select2({
      dropdownParent: $('#edit{id}')
  });
});
javascript jquery laravel bootstrap-modal jquery-select2

评论

2赞 Tim Lewis 11/18/2023
您没有 id 为 的元素,这是您通过 ... 将评估为类似 .您必须执行 、 或使用数据属性等。id="edit{id}"$('#edit{id}')id="edit{{ $item->id }}"id="edit1"const id = 1;$(`edit${id}`)

答:

0赞 TSCAmerica.com 11/18/2023 #1

我认为jQuery选择器应该是动态的,以匹配每个模态的唯一ID,因此我们可以为select元素使用一个类,然后遍历每个实例。我认为像下面这样的东西应该可以工作

$(function() {
    $('.js-example-placeholder-single').each(function() {
        var $select = $(this);
        var modalId = $select.closest('.modal').attr('id');
        $select.select2({
            dropdownParent: $('#' + modalId)
        });
    });
});