jQuery自动从数据库查找中填充选择框

时间:2018-08-30 12:58:31

标签: select autocomplete option autofill

我试图弄清楚如何让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']);
                  });
                ?>

有趣的是,我之前已经使用过此代码,并且可以正常工作。任何帮助表示赞赏。

0 个答案:

没有答案