получение значения из (select2) для другого поля ввода laravel - PullRequest
0 голосов
/ 07 марта 2020

У меня есть поле ввода select2. После использования select2 будет отображаться новый столбец и выбранные данные с этого входа. я ссылался вот так ссылка . поэтому после того, как я использовал select2, это значение будет показано в новом столбце. но я не знаю, как поймать эти данные. я использую laravel, и это мой контроллер и представление:

Контроллер

 $collection = Alat::get(['nama_alat','no_inventaris','status_alat','id']);
    foreach ($collection as $item) {
        $inven[$item->id]  = $item->no_inventaris.'-'.$item->nama_alat;
    }

это будет показано colomn: no_inventaris и nama_alat в select2. но в $ collection у меня есть " status_alat ", эти данные мне нужно отобразить в другом столбце.

, и это мой взгляд

            // This is form Select2
               <div class="form-group"> 
                      <label>Pilih Inventaris</label>
                      <select class="form-control select2bs4" name="alat_id" id="alat_id" style="width: 100%;" aria-hidden="true" onchange="Show()">
                        <option value=""></option>
                        @foreach($inven as $id => $item )
                        <option value="{{ $id }}">{{ $item }} </option>
                        @endforeach

                      </select>
                    </div>

                   // This is form what i need to show another value
                  <div class="form-group" id="divid" style="display:none">
                        <label class="control-label" for="title">Kondisi Alat Sekarang:</label>
                        <input type="text" name="" class="form-control" id="value" data-error="Please enter title." readonly />
                        <div class="help-block with-errors"></div>
                      </div>

это js.

 <script>
  function Show()
   {
      var fieldValue =  $('#alat_id').val();


         if(fieldValue == "")
          {
           document.getElementById("divid").style.display = 'none';
            }
         else{
           document.getElementById("divid").style.display = 'inline'
           }           
      }

 </script>

эти данные, которые мне нужно отловить в контроллере $ collection: "status_alat" . как я могу поймать эти данные после ввода select2 и показа в новом столбце? этот столбец показан, но я не знаю, как поймать эти данные. извините за плохой английский sh

1 Ответ

0 голосов
/ 07 марта 2020

Лучшим решением должно быть использование ajax, достаточно сложно получить доступ к переменной коллекции PHP внутри javascript. Если бы это был я, я бы создал функцию, которая выбирает выбранные данные select2 по их идентификатору. Это мой пример кода:

<script>
  function select2Changed()
   {
      var alat_id =  $('#alat_id').val();  
      if(fieldValue == ""){
           document.getElementById("divid").style.display = 'none';
      } else{
           document.getElementById("divid").style.display = 'inline';
           $.ajax({url: "[url]/get-alat-status/"+alat_id, success: function(result){
               document.getElementById("value").value = result;
           }}); 
      }       
   }

 </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...