получить идентификатор скрытого поля ввода в событии изменения поля выбора - PullRequest
0 голосов
/ 25 апреля 2018

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

@foreach($sCForms as $sCForm)
 <tr>
    <td>{!! $sCForm->Description !!}</td>
    <td style="display: none;"><input type="hidden" class="hidden" 
        value="{{$sCForm->id}}" id="hidden"></td>
    <td class="demo">
       <select name="assigned_to" id="assigned_to" class="demo form-control 
         required" style="width: 90%;" onchange="changeassigned()">
            <option value="">--Select user--</option>
              @foreach($users as $user)
                  <option value="{{$user->id}}">
                      {{$user->first_name}} {{$user->last_name}}
                  </option>
              @endforeach
        </select>
    </td>
</tr>
@endforeach

моя функция:

 function changeassigned()
   {
       var id = $('#assigned_to').val();
       var form_id = $('.demo').parent().parent().find('input').val();
       alert(form_id);
   }

Моя проблема с этим кодом в том, что я получаю значение только для скрытого поля первой строки.

Каков наилучший способ получить значение скрытого поля каждой строки .?

Ответы [ 3 ]

0 голосов
/ 25 апреля 2018

Я всегда буду уникален, тем не менее это должно дать вам желаемый результат:

function changeassigned(obj) {
  var id = $(obj).val();
  var form_id = $(obj).closest("tr").find('input').val();
  alert(form_id);
}

демо

function changeassigned(obj) {
  var id = $(obj).val();
  var form_id = $(obj).closest("tr").find('input').val();
  alert(id + " | " + form_id);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr>
      <td>My Form</td>
      <td style="display: none;"><input type="hidden" class="hidden" value="FormID" id="hidden"></td>
      <td class="demo">
        <select name="assigned_to" class="demo form-control 
         required" style="width: 90%;" onchange="changeassigned(this)">
          <option value="">--Select user--</option>

          <option value="user1">
            user1
          </option>
          <option value="user2">
            user2
          </option>
        </select>
      </td>
    </tr>
    <tr>
      <td>My Form2</td>
      <td style="display: none;"><input type="hidden" class="hidden" value="FormID2" id="hidden"></td>
      <td class="demo">
        <select name="assigned_to" class="demo form-control 
         required" style="width: 90%;" onchange="changeassigned(this)">
          <option value="">--Select user--</option>

          <option value="user3">
            user3
          </option>
          <option value="user4">
            user4
          </option>
        </select>
      </td>
    </tr>
  </tbody>
</table>
0 голосов
/ 25 апреля 2018
Try Like this - using variable i, create dynamic id of hidden and select

{{ $i=0 }}
@foreach($sCForms as $sCForm)
 <tr>
    <td>{!! $sCForm->Description !!}</td>
    <td style="display: none;"><input type="hidden" class="hidden" 
        value="{{$sCForm->id}}" id="hidden{{ $i }}"></td>
    <td class="demo">
       <select name="assigned_to" id="assigned_to{{ $i }}" class="demo form-control 
         required" style="width: 90%;" onchange="changeassigned({{ $i }})">
            <option value="">--Select user--</option>
              @foreach($users as $user)
                  <option value="{{$user->id}}">
                      {{$user->first_name}} {{$user->last_name}}
                  </option>
              @endforeach
        </select>
    </td>
    {{ $i++ }}
</tr>
@endforeach


function changeassigned(i)
{
   var id = $('#assigned_to'+i).val();
   var form_id = $('#hidden'+i).val();
   alert(form_id);
}
0 голосов
/ 25 апреля 2018

похоже, что вы получите элементы с одинаковым идентификатором.изменить его на класс или что-то еще

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