Я хочу показать модальное окно, когда мышь щелкнула «Andre ...» в поле выбора списка в коде Laravel, как показано ниже. но это не работает. Не могли бы вы сказать мне, где неправильно работать?

Выбрать ящик

enter image description here

Определение переменной в контроллере

$job_types = DB::table('jobs')->pluck('job_type')
                    ->unique(function ($item){
                        return $item;
                      });;

HTML (Laravel Blade)

Job Type Field
<div class="form-group col-sm-4" id="job_type">
    {!! Form::label('job_type', 'Type:') !!}

    {!! Form::select('job_type', $job_types, null, ['class' => 'form-control', 'id' => 'job_type']) !!}
</div>

Модальное представление

<div class="modal fade" id="jobListModal">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span>
          </button>
          <h4 class="modal-title">Set in new job type.</h4>
        </div>
        <div class="modal-body">
          <p>New Job type:</p>
          <input type="text" id="textInput">
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
          <button type="button" id="btnSave" class="btn btn-primary">Edit</button>
        </div>
      </div>
      <!-- /.modal-content -->
    </div>
    <!-- /.modal-dialog -->
  </div>
  <!-- /.modal -->

< Сильный > Jquery

$('#job_type').on('change', function (e) {
    if ('Another' == this.value) {
        $("#jobListModal").modal("show");
    }
});
$('#btnSave').click(function () {
    var newType = $('input#textInput').val();
    $('select#job_type option:last')
        .after('<option value="' + newType + '" selected="selected" >' + newType + '</option>');
    $('#jobListModal').modal('hide');
});

< Сильный > Inspection

enter image description here

1
JsWizard 26 Фев 2018 в 15:25

3 ответа

Лучший ответ

Попробуйте это: если вы хотите, чтобы соответствовать по раскрывающемуся тексту

$('#job_type').on('change', function (e) {
    if ('Another' == $('#job_type option:selected').text() {
        $("#jobListModal").modal("show");
    }
});
3
Peerbits - Backend Team 26 Фев 2018 в 12:36

Попробуйте изменить эту часть кода на:

$('#job_type').on('change', function (e) {
    if ('59' == $(this).val()) {
        $("#jobListModal").modal("show");
    }
});
1
Galanx 26 Фев 2018 в 12:34

Вы пробовали это

$('#job_type').on('change', function (e) {
    if (59 == $(this).val()) {
        $("#jobListModal").modal("show");
    }
});
0
Jigs1212 26 Фев 2018 в 12:55