我的自动填充的句子结构是:

<职业> <对于> <时间段>

例:

>学生5年
>老师2年

在数据库中,我有一个包含职业列表的列.使用jQuery UI自动完成,我使用以下代码填充文本输入中的前两个部分:

<script>
    $(function() {
        $("#occupation").autocomplete({
            source: 'search.PHP',delay: 500,select: function(event,ui) {
                $(this).val(ui.item.value)
            }
        });
    });
</script>
<input type='text' name='occupation' id='occupation’>

search.PHP代码:

<?PHP
$searchTerm = $_GET['term'];
$query = $db->query("SELECT disTINCT occupation FROM table WHERE occupation LIKE '%" . $searchTerm . "%' ORDER BY occupation ASC");
$a_json = array();

while ($row = $query->fetch_assoc())
    {
    $data_row["value"] = $row['occupation'] . ' for';
    $data_row["label"] = $row['occupation'];
    array_push($a_json,$data_row);
    }

echo json_encode($a_json);

现在,有没有办法创建第二个触发器来为其余的自动完成?就像选择职业一样,如果用户输入5,它将显示该时间段的以下自动完成选项:5天/ 5周/ 5个月/ 5年.如下图所示:

提前感谢您的建议.

我建议按照此处显示的多个示例: http://jqueryui.com/autocomplete/#multiple

基本上,我们将有选择地选择要填写的标签,使用“for”作为分隔符而不是“,”.

var occupations = [{
  value: "Assistant for",label: "Assistant"
},{
  value: "Student for",label: "Student"
},{
  value: "Teacher for",label: "Teacher"
}];

var oLength = [
  "Days","Weeks","Months","Years"
];

$(function() {
  function split(val) {
    return val.split(/\sfor/);
  }

  function extractLast(term) {
    return split(term).pop();
  }

  $("#occupation").on("keydown",function(event) {
    if (event.keyCode === $.ui.keyCode.TAB &&
      $(this).autocomplete("instance").menu.active) {
      event.preventDefault();
    }
  }).autocomplete({
    minLength: 0,source: function(request,response) {
      var term = extractLast(request.term);
      var results = [];
      if (request.term.indexOf("for") > 0) {
        var regE = /^(.*)\sfor\s(\d)\s(.*)$/
        if (regE.test(request.term)) {
          return false;
        }
        if (parseInt(term) > 0) {
          $.each(oLength,function(k,v) {
            results.push(term + " " + v);
          });
        }
      } else {
        results = $.ui.autocomplete.filter(
          occupations,request.term);
      }
      response(results);
    },focus: function() {
      // prevent value inserted on focus
      return false;
    },ui) {
      var terms = split(this.value);
      terms[0] = terms[0] + " for";
      // remove the current input
      terms.pop();
      // add the selected item
      terms.push(ui.item.value);
      // add placeholder to get the comma-and-space at the end
      terms.push("");
      this.value = terms.join("");
      return false;
    }
  });
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<input type="text" id="occupation" />

php – 如何根据句子结构在输入字段中创建多个自动完成?的更多相关文章

  1. Jquery插件仿百度搜索关键字自动匹配功能

    这篇文章主要为大家详细介绍了Jquery插件仿百度搜索关键字自动匹配功能的相关资料,需要的朋友可以参考下

  2. jquery插件autocomplete用法示例

    这篇文章主要介绍了jquery插件autocomplete用法,结合实例形式分析了jQuery插件autocomplete与后台交互实现搜索的自动完成功能实现技巧,需要的朋友可以参考下

  3. jquery UI实现autocomplete在获取焦点时得到显示列表功能示例

    这篇文章主要介绍了jquery UI实现autocomplete在获取焦点时得到显示列表功能,结合实例形式分析了jquery UI实现autocomplete事件响应及显示下拉列表功能操作技巧,需要的朋友可以参考下

  4. jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解

    这篇文章主要介绍了jQuery autoComplete插件两种使用方式及动态改变参数值的方法,结合实例形式分析了jQuery自动匹配插件autoComplete的使用技巧与动态改变参数传入值的实现方法,需要的朋友可以参考下

  5. Jquery的autocomplete插件用法及参数讲解

    今天小编就为大家分享一篇关于Jquery的autocomplete插件用法及参数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

  6. jQuery Autocomplete简介_动力节点Java学院整理

    这篇文章主要介绍了jQuery Autocomplete简介,jQuery UI Autocomplete是jQuery UI的自动完成组件,是我用过的最强大、最灵活的Autocomplete,它支持本地的Array/JSON数组、通过ajax请求的Array/JSON数组、JSONP、以及Function(最灵活)等方式来获取数据

  7. jQuery插件autocomplete使用详解

    这篇文章主要为大家详细介绍了jQuery插件autocomplete使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  8. HTML5中form如何关闭自动完成功能的方法

    当你往输入框输入内容的时候,浏览器会从你以前的同名输入框的历史记录中查找出类似的内容并列在输入框下面,但有时候我们希望关闭输入框的自动完成功能,这篇文章主要介绍了HTML5中form如何关闭自动完成功能的方法

  9. php – 如何根据句子结构在输入字段中创建多个自动完成?

    我的自动填充的句子结构是:例:>学生5年>老师2年在数据库中,我有一个包含职业列表的列.使用jQueryUI自动完成,我使用以下代码填充文本输入中的前两个部分:search.PHP代码:现在,有没有办法创建第二个触发器来为其余的自动完成?

  10. Ajax Autocomplete for jQuery 配置

    autoSelectFirst默认值false,如果设置为true,当显示suggestion时是否第一项被选择。beforeRender可选,function{}在显示suggestions之前调用。formatResult可选,function{},格式化suggestion项到suggestioncontainer中。formatGroup可选,function{},格式化分组头groupBy可选,指定用于分组的属性。maxHeight默认300,suggestioncontainer的最大高度wi

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部