【问题标题】:keyup search function to also take input valuekeyup 搜索功能也可以获取输入值
【发布时间】:2021-04-06 09:08:04
【问题描述】:

我有以下 keyup 搜索功能,当用户直接在该字段中输入信息时该功能起作用。见下文:

    if(this.$search_ele.length){
      this.has_search = true;
      this.searchFn = this.buildSearchFn(opts.fields);
      this.bindEvent(opts.ele, 'keyup' );
    }

我现在构建了一个附加功能,如果用户选择一个按钮,按钮信息就会被填充到搜索中。见下文:

  function searchInput(num) { 
      var txt=document.getElementById("searchbox").value; 
      txt=txt + num; 
      document.getElementById("searchbox").value=txt; 
      } 

由以下触发:

<input type="button" value="<%= name %>" name="no" onclick="searchInput(this.value)">  

我现在正在尝试更新我的搜索功能以也采用此值,因为它显然不会按预期工作,因为没有直接的用户输入(keyup 或 keydown)。麻烦的是,我正在努力使用正确的方法来添加这个新的搜索功能。

我读到我可以通过使用空格来分配多个事件,但我认为这不正确?

 if(this.$search_ele.length){
      this.has_search = true;
      this.searchFn = this.buildSearchFn(opts.fields);
      this.bindEvent(opts.ele, 'keyup change' );
    }

构建接受另一个 bindEvent 的语句也是不正确的

 else if(this.$search_ele.length){
      this.has_search = true;
      this.searchFn = this.buildSearchFn(opts.fields);
      this.bindEvent(opts.ele, 'change' );
    }

关于我哪里出错的建议?

提前谢谢你。

【问题讨论】:

  • 嗨,有趣,也许focusout 事件或focus 也可能有用
  • 谢谢 jspcal - 我会为此读入 mdn。
  • 我想我正在使用焦点选项。如果我然后单击填充的搜索框,搜索现在在哪里工作。现在看看更新我的函数,所以当按下按钮时,输入框就会聚焦。

标签: javascript jquery function


【解决方案1】:

感谢您用焦点提示将我引向正确的方向 jspcal!

我现在已经更新了我的代码,并且正在按预期工作。

function searchInput(num) { 
      var txt=document.getElementById("searchbox").value; 
      txt=txt + num; 
      document.getElementById("searchbox").value=txt; 
      document.getElementById("searchbox").focus();
      } 
  

和...

 if(this.$search_ele.length){
      this.has_search = true;
      this.searchFn = this.buildSearchFn(opts.fields);
      this.bindEvent(opts.ele, 'keyup focus' );
    }

再次感谢您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 2018-01-02
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 2021-12-15
    • 2021-02-06
    相关资源
    最近更新 更多