如何为在输入时执行搜索的现有代码创建搜索按钮? php/javascript/mysql

Posted

技术标签:

【中文标题】如何为在输入时执行搜索的现有代码创建搜索按钮? php/javascript/mysql【英文标题】:How to create search button for existing code which execute search on enter press? php/javascript/mysql 【发布时间】:2017-03-18 00:43:34 【问题描述】:

我有一个网站,其他人一直在为我编写代码,我正在尝试了解如何改变一个简单的事情。

我不是webdeveloper,但最近几天我对phpmysqljavascript有点熟悉(我熟悉java)。

****问题:**** 在我的网站上,我有一个搜索表单,该表单没有搜索按钮(搜索功能在输入按下或从自动完成中选择时工作)。如何将其更改为仅与搜索按钮一起使用?

使用 CodeIgniter 框架开发的网络。

这是控制器的样子:

public function searchGym()

if($_POST)

$gym_name=$_POST['gym_name'];
$gym_name=trim($gym_name," ");  
$data['details']=$this->user_model->getGymByName($gym_name);
$data['gym_name']=$gym_name;
$this->load->view('he/searched_gym',$data);


这是模型的样子:

 public function getGymByName($query_string)
 
    $query_string=mysql_real_escape_string($query_string);
    $query=$this->db->query("select * from gym_members_table where member_title like '%$query_string%'");
    return $query->result_array();
 
</code> 

这是 index.php 搜索表单:

 

              
              

            


  


函数 settextbox(rval)

  $('.autosuggest').hide();

    $('#gym').val(rval);
    $('#gym_search2').val(rval);
    searchGymByName(rval);

  



$(文档).ready(函数()



  $('.autosuggest').hide();

  $('#gym').keyup(function(e)
    



       var code = (e.keyCode || e.which);

    // 如果是方向键,什么也不做
    如果(代码 == 37 || 代码 == 38 || 代码 == 39 || 代码 == 40 || 代码==13)
        返回;
    


     var search_term = $(this).val();


     var getdata = 'search_term': search_term;

       如果(搜索术语!='')

       $.ajax(

          url: "",

          数据:获取数据,

          类型:'POST',

          成功:函数(数据)

          $('.autosuggest').show();

          $('.autosuggest').html(数据);

          

          );

       

       别的

       

        $('.autosuggest').hide();

       

  );



);

$('.autosuggest').hide();



函数 searchGymByName(rval)


$('.autosuggest').hide();
变体健身房名称=rval;


$.ajax(

  url:"hebrew/sea​​rchGym",

  类型:“发布”,

  数据:健身房名称:健身房名称,

  成功:功能(资源)
    $('html, body').animate( scrollTop: 0 , 0);
    $("#ajax-map").hide();

    $("#city").val('');

    $("#city1").val('');

     $("#ajax-page-hide").show();

    $("#ajax-page-hide").html(res);

  

);


谢谢!!

【问题讨论】:

$('#gym').keyup(function(e) 是导致它自动加载的功能。当有人按下搜索按钮时使用此功能 谢谢,每当我设法禁用它时.. 按下按钮时如何调用此功能?这是我的按钮代码: 删除 $('#gym').keyup(function(e) 并在其位置添加 $('[name="searchgymbutton"]').click(function(e) 【参考方案1】:

您可以像这样取消这些字段上的回车键:

$('.gym_search').keypress(function(e)
    if ( e.which == 13 ) return false;
    //or...
    if ( e.which == 13 ) e.preventDefault();
);

【讨论】:

您好,我试过了(查看新代码),但没有取消它。有什么想法吗? $(document).ready(function() $('.autosuggest').hide(); $('#gym').keyup(function(e) var code = (e.keyCode || e.which); //取消输入 $('.gym_search').keypress(function(e) if ( e.which == 13 ) return false; 在你的 $('#gym').keyup(function(e) 中添加代码 == 13【参考方案2】:

从搜索输入字段中删除 id 属性,并将 id="gym" 放在搜索按钮上。然后在 $('#gym').click(function(e) [注意:'click' 而不是 'keyup'] 中,将 search_term 改为

var search_term = $("gym_search").val();

【讨论】:

【参考方案3】:

从文本框中删除 onkeypress 事件。在 java 脚本函数中添加用于搜索的 ajax 调用,并在按钮单击事件上调用该函数

【讨论】:

以上是关于如何为在输入时执行搜索的现有代码创建搜索按钮? php/javascript/mysql的主要内容,如果未能解决你的问题,请参考以下文章

如何为mysql中的现有表创建索引?

如何为搜索输入制作 select2 占位符

Xamarin Forms:如何为网格内单击的按钮添加背景颜色(单词搜索游戏)

如何为用户输入文本时将动态创建的每个单元格设置按钮操作(Swift 4)?

Cocoa - 如何为 tableView 创建搜索字段?

如何为一个非常大的 Core Data 数据库创建一个快速搜索机制?