转换为文本框搜索而不是下拉

时间:2014-04-08 18:51:38

标签: javascript jquery html full-text-search

我一直在使用这个脚本从下拉选择选项中恢复信息,我想使用相同的方法,但在文本框中,用户可以输入搜索,这是可以做的吗? ?它将成为各种搜索引擎。我想我可以弄清楚如何创建搜索引擎部分,我只需要先转换它以确保我能够返回正确的结果。

我的目标是允许用户在文本字段中键入他/她想要的特定徽标,并且返回是该搜索的结果。他们正在搜索数组中的png图像,并选择一个来完成表单。

function showSub(str) {
    var xmlhttp;
    if (str=="") {
      document.getElementById("txtSub").innerHTML="";
      return;
    }
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    }
    else {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function() {
      if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        document.getElementById("txtSub").innerHTML=xmlhttp.responseText;
      }
    }
    xmlhttp.open("GET","getSub.php?q="+encodeURIComponent(str),true);
    xmlhttp.send();
}

HTML

<tr>
  <td width='15%'><div align='right'><strong>Sub-Category</strong></div></td>
  <td width='70%'><div id="txtSub"></div></td>
</tr>

附注:我已经看到了搜索查询,可以动态提供结果,结果会在按Enter后为您提供结果。我当前使用此脚本的脚本是在ajax中我相信并在选择下拉列表后给出结果,是否可以对文本搜索框执行相同的操作?

编辑:此外,如果此脚本是错误的方法,并且有人有替代建议或已经执行此操作的脚本,我对其他想法非常开放。感谢。

1 个答案:

答案 0 :(得分:2)

如果您想使用文本字段输入,您可以执行以下操作:

HTML

<input type="text" id="searchText" value="" />

的javascript / jquery的

$(document).on('change', '#searchText', function() {
    // Get the search text
    var searchText = $(this).val();
    // Make sure it isn't empty
    if (searchText.length > 0) {
        // Send the update request
        showSub(searchText);
    }
});