使用基于下拉列表的自动完成建议填充搜索框

时间:2018-02-05 20:35:15

标签: javascript html drop-down-menu search-box

我正在尝试使用下拉菜单创建一个搜索框。到目前为止,我已设法做到这一点。我的代码是:

<div id="form_input_things">
<p>
    Search Type:<select id="searchtype" name="searchtype">
            <option value="country">Country</option>
            <option value="city">City</option>
    </select>
    </p>
    <p>
    <div class="form-group">
    Search Term:<input type="text" name="searchterm" id="myMessage" placeholder="Search term" data-toggle="tooltip" data-placement="bottom" title="Search by Country name,City name"  onkeyup='check()'>&nbsp;&nbsp;&nbsp;<input class ="btn btn-primary" type="submit" id="submitid" value="Submit" disabled>
    <script type="text/javascript">
        $("input[type=text]").keyup(function(){
            var count = 0, attr = "disabled", $sub = $("#submitid"), $inputs = $("input[type=text]");  
            $inputs.each(function(){
                count += ($.trim($(this).val())) ? 1:0;
            });
            (count >= $inputs.length ) ? $sub.removeAttr(attr):$sub.attr(attr,attr);
            });
    </script>
    </div>
    </p>
    <p>&nbsp;</p>
</div>

但现在困难的部分来了,我想根据下拉菜单的选择(国家名称或城市名称列表)填充带有建议名称的搜索框。我怎样才能做到这一点?我不想在我的HTML模板中加载数据(因为加载页面的速度会慢一些)但是想从我自己的列表中获取所有国家或城市名称(超过1000个城市名称)。期待您的帮助。

1 个答案:

答案 0 :(得分:0)

您要问的最困难的部分是获取城市列表并确保您显示特定国家/州/省的城市。我个人建议使用Google Maps的API并根据您的需要进行调整。请参阅此链接:https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete#try-it-yourself