我试图弄清楚如何让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']);
});
?>
有趣的是,我之前已经使用过此代码,并且可以正常工作。任何帮助表示赞赏。