У меня была та же проблема с HTA. Мое решение с vbs ...
Sub sleep (Timesec)
Set objwsh = CreateObject("WScript.Shell")
objwsh.Run "Timeout /T " & Timesec & " /nobreak" ,0 ,true
Set objwsh = Nothing
End Sub
' example wait for 3 seconds
sleep 3
Процедура вызовет команду оболочки, сведенную к минимуму и без команды клавиатуры. Разрешается только ^ C, но это не будет дано пользователю в этой ситуации.
Предложите следующее:
$("#TextArea").autocomplete({
source: function(req, resp){
var option = $('#Options option:selected').val().toLowerCase();
$.ajax({
cache: false,
url: "search.php",
data: {
option: option,
term: req.term
},
dataType: "json",
success: function(data){
resp(data);
}
});
},
minLength: 3
});
Я думаю, что одна проблема заключается в том, что если #Options
является элементом <select>
, вам необходимо найти выбранный дочерний элемент:
$("#Options option:selected")
[119 ] Это гарантирует, что у вас есть подходящий объект, и тогда вы можете вызвать .val()
к нему. Если вам нужна дополнительная помощь здесь, пожалуйста, обновите ваше сообщение MCVE: https://stackoverflow.com/help/mcve
Это может решить проблему для вас. Если нет, продолжайте.
Во-вторых, чтобы убедиться, что вы не кэшируете, мы можем выполнить более ручную запись исходного кода.
Когда используется строка, плагин автозаполнения ожидает, что эта строка будет указывать на ресурс URL, который будет возвращать данные JSON. Это может быть на том же хосте или на другом (должен поддерживать CORS). Плагин автозаполнения не фильтрует результаты, вместо этого в строку запроса добавляется поле
blockquote>term
, которое серверный сценарий должен использовать для фильтрации результатов.Поэтому мы копируем ту же функциональность с некоторыми добавленными настройками. Таким образом, каждый раз, когда проверяется источник, проверяются параметры и отправляется термин. Мы вернем данные в JSON и отправим в Autocomplete для отображения.
Надеюсь, это поможет.