JQuery Auto Заполнить поле выбора из поиска в базе данных - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь выяснить, как заставить JQuery выбрать правильную опцию из выпадающего списка с информацией, хранящейся в базе данных.

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

В настоящее время у кода, который у меня есть, происходит выбор, но он выбирает только верхнюю опцию вместо правильной. Работает, но не правильно.

Вот соответствующий JS:

$('.sharename').autocomplete({ 
    source: shares,
    select: function(e, ui) {
      console.log(ui.item.shareOwner);


      var existingshareOwner = ui.item.id.replace(/^0-9/g, '');
      if($('[name=existing-shareOwner]').val() == null) {
        $('[name=existing-shareOwner] option:selected').prop('selected', false);
        $('[name=existing-shareOwner] option[value*=' + existingshareOwner + ']').prop('selected', true);
      }
      $(this).val(ui.item.label.substring(0, ui.item.label.indexOf('(') - 1));
    }
  });

Это связано с блоком PHP в моем коде

<select class='form-control' name='existing-shareOwner' style='width: 100%' disabled>
                <option disabled selected></option>
                <?php
                  $addedOwners = array();

                  usort($shares, function($a, $b) {
                    return strcmp($a['share_owner'], $b['share_owner']);
                  });

                  foreach($shares as $share) {
                    if($share['share_owner'] != '' && !in_array($share['share_owner'], $addedOwners)) {
                      echo '<option value="'.$share['share_owner'].'">'.$share['share_owner'].'</option>';
                      $addedOwners[] = $share['share_owner'];
                    }
                  }

                  usort($shares, function($a, $b) {
                    return strcasecmp($a['share_name'], $b['share_name']);
                  });
                ?>

Самое смешное, что я использовал этот код раньше, и он прекрасно работает. Любая помощь приветствуется.

...