Я пытаюсь выяснить, как заставить 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']);
});
?>
Самое смешное, что я использовал этот код раньше, и он прекрасно работает. Любая помощь приветствуется.