JQuery datalist以任何顺序匹配多个单词的输入

时间:2017-07-17 17:20:20

标签: javascript jquery html

编辑:我对datalist进行了更多研究,似乎其匹配行为无法自定义。我决定抛弃datalist并制作我自己的下拉列表和自动完成插件。

我有像这样的输入数据列表

<div itemprop="articleBody">
<?php
  $needle = "</p>";
  $length = strlen($needle);

  $this_article = $this->item->text;
  $pos1 = strpos($this_article, $needle);
  $pos2 = ($pos1!== 0 && strpos($this_article, $needle, $pos1 + $length)) ? strpos($this_article, $needle, $pos1 + $length): 0;

 $first_para = substr($this_article,0,$pos2);
 $rest_para = substr($this_article,$pos2 + $length); 
    echo $first_para;
    echo JHtml::_('content.prepare', '{loadposition inline-zone}'); 
    echo $rest_para;
?>		
</div>

目前,数据专家只会显示&#34;美国&#34;如果用户按照datalist选项的顺序键入国家/地区名称,即。美国,各州等。

我希望数据主义者能够展示&#34;美利坚合众国&#34;即使用户输入的名称不是按顺序排列,即。美国,美国各州。

在PHP和MySQL中,我可以将输入拆分为每个单词的数组,并使用LIKE%..%子句来查询我想要的内容。

如何使用Jquery或Javascript实现这一目标?

1 个答案:

答案 0 :(得分:0)

使用正则表达式进行检查。 Var userTypeRegex = new Regex(input.val()。split(&#39;&#39;)。join(&#39; |&#39;));

然后使用上面的正则表达式检查每个选项值,如果测试并显示其他隐藏