如何使用Tampermonkey触发jQuery自动完成插件?

时间:2017-11-17 20:56:40

标签: javascript jquery-ui tampermonkey

我正在尝试使用自动完成输入文本框的Tampermonkey网站。

当用户在其中一个文本框中键入内容时,会使用jqueryui 1.8.2触发jQuery搜索小部件。

我无法在https://jqueryui.com/autocomplete/找到问题的解决方案。

我要做的是从我的用户脚本中取一个字符串并将其插入其中一个文本框中。然后我想自动触发jQuery搜索。我可以轻松地将字符串放入文本框中。

$('#website_Textbox').val('My String');

一旦我把字符串放进去,我就无法弄清楚如何触发jquery搜索。

我已经尝试.change().trigger('change')我也尝试过关注文本框并点击文本框,但没有任何效果。

进行搜索的唯一方法是使用按键。我已经尝试创建一个事件keypress,但这也不起作用。我不能用javascript发送实际的按键。有人知道解决方案吗?

1 个答案:

答案 0 :(得分:0)

只需使用JQUI's "search" methodDoc即可。 EG:

$('#website_Textbox').val ('My String').autocomplete ("search", "My String");

现场演示:



var wordList = [
    "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog.",
    "Several", "fabulous", "dixieland", "jazz", "groups", "played", "with", "quick", "tempo.",
];
$("#zWords").autocomplete ( {source: wordList} );

$("button").click ( function () {
    $("#zWords").val ("er").autocomplete ("search", "er");
} );

<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/base/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js"></script>

<p><button>jump-start autocomplete</button></p>
<div class="ui-widget">
  <label for="zWords">Words: </label><input id="zWords">
</div>
&#13;
&#13;
&#13;

或者在 Tampermonkey 脚本中:

// ==UserScript==
// @name     _autostart JQUI autocomplete value
// @match    *://YOUR_SERVER.COM/YOUR_PATH/*
// @grant    none
// ==/UserScript==

$('#website_Textbox').val ('My String').autocomplete ("search", "My String");

请注意,在某些情况下,使用@grant 以外的none可能需要脚本注入。