向 jquery 自动完成文本字段添加下拉箭头

问题描述 投票:0回答:1

我有一个包含 2 个字段的表单 - 供应商和 pav。供应商当前是一个自动完成文本字段,一旦选择供应商,它就会使用相应的值填充 pav 字段。我想做的是在文本字段上添加一个下拉箭头和/或滚动条,以便用户开始输入后可以上下滚动。我真正想要做的就是将文本字段更改为自动完成 comobox,但我发现的教程对于我有限的 jquery 知识来说有点高级。 我发现的另一个选项是,一旦用户使用 .bind('focus', function(){ $(this).autocomplete("search"); } );

关注某个字段,就显示整个列表,但不清楚将其放在代码中的何处。

以下是我的自动完成的 jquery 代码:

`Drupal.behaviors.mywebform = { attach: function (context, settings) { $('#edit-submitted-vendor-exhibitor-info-pav').val("");

            $("#edit-submitted-vendor-exhibitor-info-vendor").autocomplete({
                source: "/shipONE/sites/vendorarray.php",
                minLength: 1,

                select: function(event, ui) {
                    $('#edit-submitted-vendor-exhibitor-info-vendor').val(ui.item.vendor);
                    $('#edit-submitted-vendor-exhibitor-info-pav').val(ui.item.pav);            
                }
            });
   }};`

我的 php 代码从数据库返回值:

$("#edit-submitted-vendor-exhibitor-info-vendor").autocomplete({ source: "/shipONE/sites/vendorarray.php", minLength: 1, select: function(event, ui) { $('#edit-submitted-vendor-exhibitor-info-vendor').val(ui.item.vendor); $('#edit-submitted-vendor-exhibitor-info-pav').val(ui.item.pav); } }); }};`

感谢您的帮助。

通过执行以下操作,我能够专注于现场工作(这也给了我一个带有滚动条的下拉菜单):

javascript jquery drupal jquery-ui-autocomplete
1个回答
0
投票

$return_arr = array();

if ($conn)
{
    $ac_term = "%".$_GET['term']."%";
    $query = "SELECT * FROM vendors2 where vendor like :term";
    $result = $conn->prepare($query);
    $result->bindValue(":term",$ac_term);
    $result->execute();

    /* Retrieve and store in array the results of the query.*/
    while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
        $row_array['pav'] = $row['pav'];
        $row_array['value'] = $row['vendor'];
        $row_array['pav'] = $row['pav'];

        array_push($return_arr,$row_array);
    }
}

/* Toss back results as json encoded array. */
echo json_encode($return_arr);

还在我的CSS中添加了以下内容以添加滚动条并限制显示的选项:

if ($conn)
{
    $ac_term = "%".$_GET['term']."%";
    $query = "SELECT * FROM vendors2 where vendor like :term";
    $result = $conn->prepare($query);
    $result->bindValue(":term",$ac_term);
    $result->execute();

    /* Retrieve and store in array the results of the query.*/
    while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
        $row_array['pav'] = $row['pav'];
        $row_array['value'] = $row['vendor'];
        $row_array['pav'] = $row['pav'];

        array_push($return_arr,$row_array);
    }
}

/* Toss back results as json encoded array. */
echo json_encode($return_arr);

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.