【问题标题】:Create clear field button and submit the empty value创建清除字段按钮并提交空值
【发布时间】:2016-08-28 10:52:49
【问题描述】:

我有一个文本框,用作一组同位素项目的搜索过滤器。

我想要一个简单的按钮,当单击它时,会清除输入到文本框中的文本,但也会复制与在键盘上按“Enter”相同的内容。目前只是清除文本并没有注册同位素排序,所以我需要它在清除值后复制按“Enter”键。

$('#clear_input').click(function () {
$('#quicksearch').focus();
$('#quicksearch').val('');
// something here to replicate pressing enter inside #quicksearch

有什么想法吗?

【问题讨论】:

  • 创建一个新函数,作为函数 clearSeachtextBox(){$('#quicksearch').val('');并从您的输入按钮点击内部调用它作为单独的函数。或者您也可以通过清除按钮使用此功能
  • 查看这个关于如何创建键盘事件的问题:stackoverflow.com/questions/3276794/…

标签: jquery input click submit


【解决方案1】:

试试这个:http://codepen.io/anon/pen/QEZaaV

$('#clear_input').click(function () {
  $('#quicksearch').focus();
  $('#quicksearch').val('');
  
  setTimeout(function() {
    var e = jQuery.Event("keypress");
    e.which = 13;
    e.keyCode = 13;
    $("#clear_input").trigger(e);
  }, 10);
});

$('#clear_input').on( "keypress", function(event) {
  if (event.which == 13 && !event.shiftKey) {
    event.preventDefault();
    alert('Enter key fired');
  }
});
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<input type="text" id="quicksearch">
<button type="button" id="clear_input">Search</button>

编辑

已更新,因此在按 Enter 之前会清除输入。

【讨论】:

  • 谢谢。不过,它似乎在清除输入之前触发了“Enter”。我需要清除输入,然后触发 Enter...
  • 如此接近!它只适用于第一次点击。任何后续点击都不会触发 Enter...
  • 尝试将延迟时间从 10 毫秒增加到 500 毫秒,并使用该值进行调整。另外,您确定输入键根本不会被触发吗?像示例中一样将警报放在“on keypress”中,并检查它是否被触发。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-14
  • 1970-01-01
  • 2016-12-05
  • 1970-01-01
  • 2012-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多