【问题标题】:Jquery AutoComplete For each wordJquery AutoComplete 对于每个单词
【发布时间】:2013-06-27 19:55:34
【问题描述】:

我真的在为 jQuery 的自动完成插件而苦苦挣扎。我的数据库中有一个大字段,其中包含多个单词,以空格分隔:

Jumerah Lakes Towers

我可以自动完成来搜索单个单词。例如。如果我输入“J”,它会给我上面的字符串“Jumerah Lakes Towers”

但是,如果我输入第二个字符,例如“L”,它将显示所有具有第二个单词并以 L 开头的单词,如下所示:

Jumerah Lakes

等等……

简而言之,我想将第一个字符与第一个单词的开头匹配,第二个字符与第二个单词的开头匹配。

 $("#txtrefid").autocomplete("autocomplete.php", {
    selectFirst: true
});

我的 sql 查询中的 WHERE 条件是 LIKE '%$txt%'

【问题讨论】:

    标签: php jquery mysql autocomplete


    【解决方案1】:

    这个插件并不是为了满足你的愿望而设计的。

    我建议创建两个不同的自动完成字段。 然后,您需要在第一个自动完成选择上链接第二个自动完成内容。

    通过这种方式,用户无需滚动长长的建议列表即可进行快速研究。

    【讨论】:

    • 不能做他两个文本字段..我想在这一个文本字段中按下按钮
    【解决方案2】:
    $search = $_REQUEST['search'];
    $search = str_split($search, 1);
    $search = ' % ' . implode('% ', $search)  . '%';
    
    SELECT ... WHERE `lookup` LIKE '$search'
    

    【讨论】:

    • 给我这个查询..SELECT loc_name FROM crm_location WHERE loc_name LIKE ' % j%'null
    • $search = $_REQUEST['search']; 更改为用于将键入的字符发送到脚本的任何参数。
    • 我确实喜欢这样,它可以在查询结束时连接 null
    【解决方案3】:

    为了您的信息,我这样做了

    $string = 'HL';
    $chars = str_split($string); //split the string into separate characters
    
    $regexp = null; //string for the regexpansion
    
     foreach($chars as $char) //loop trough the characters
      $regexp .= $char . '[a-z0-9]+ ';
    
      $regexp = '^' . rtrim($regexp, ' ') . '$'; 
      "WHERE field REGEXP '" . $regexp . "'";
    

    【讨论】:

      【解决方案4】:
      $search = $_REQUEST['search'];
      $search = str_split($search, 1);
      $search = '' . implode('|', $search)  . '';
      
      SELECT ... WHERE `lookup` REGEXP '$search'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-14
        相关资源
        最近更新 更多