如何在从数据库填充的选择框上执行快速搜索或自动完成?

时间:2012-10-30 14:09:05

标签: php javascript jquery ajax

我有一个从数据库中填充的选择框,并希望进行快速搜索或自动完成以搜索选择框内的元素。以下是我的代码:

    <?
           print("<table>");
        print("<tr>");
            print("<td>");
            //print("<div id='searchable-form' >");  //
            print("<div id='searchable'>Search: <input type='text' id='searchFILE' size='33' autocomplete='off' /></div>");
            print("<select name='lktyp' id='lktypSearch' size='10' >");
            //Create new SQL object
            $db = new NSC_SQL($db2config);
            $db->from($bllcust1,"BCUST#,BNAME");
            $db->order("BCUST#");
            $db->select();
            $results = $db->fetchAssoc();
            $db->dspSQL();
            foreach($results as $row)
            {
                $bcust = trim($row['BCUST#']);
                $bname = trim($row['BNAME']);
                print("<option value='$bcust'>$bcust ~ $bname</option>");
            }
            print("</select>");
            print("</div>");
            print("</td>");
        print("</tr>");
        print("<tr>");
            print("<td colspan='2' align='center'>");
            //print("<input type='submit' name='search' value='Search'>");
            print("<input type='button' value='Select' onclick='lkp();'>");
            print("<input type='button' name='cancel' value='Cancel' onClick='parent.$.fancybox.close();'>");
            print("</td>");
        print("</tr>");
    print("</table>");

&GT;

2 个答案:

答案 0 :(得分:2)

最简单的方法是实施Jquery autocomplete。我不会为你做代码,但如果你发现很难创建一个新问题,发布你试过的一些代码,有人会帮忙。

答案 1 :(得分:0)

已提到的jQuery自动完成的两个不错的替代方法是ChosenSelect2。这两者都需要jQuery或其他受支持的JS框架。 jQuery自动完成和Select2对远程数据集有很好的支持。