Автоматическое заполнение jQuery: как обновить список?

Я использовал pmset для управления режимом ожидания на моем Mac некоторое время теперь, и довольно легко интегрироваться. Вот грубый пример того, как Вы могли назвать ту программу от Java для отключения/разрешения режима ожидания. Обратите внимание необходимость в полномочиях пользователя root выполнить pmset, и поэтому Вам будут нужны они для запущения этой программы.

import java.io.BufferedInputStream;
import java.io.IOException;

/**
 * Disable sleep mode (record current setting beforehand), and re-enable sleep
 * mode. Works with Mac OS X using the "pmset" command.
 */
public class SleepSwitch {

    private int sleepTime = -1;

    public void disableSleep() throws IOException {
        if (sleepTime != -1) {
            // sleep time is already recorded, assume sleep is disabled
            return;
        }

        // query pmset for the current setting
        Process proc = Runtime.getRuntime().exec("pmset -g");
        BufferedInputStream is = new BufferedInputStream(proc.getInputStream());
        StringBuffer output = new StringBuffer();
        int c;
        while ((c = is.read()) != -1) {
            output.append((char) c);
        }
        is.close();

        // parse the current setting and store the sleep time
        String outString = output.toString();
        String setting = outString.substring(outString.indexOf(" sleep\t")).trim();
        setting = setting.substring(7, setting.indexOf(" ")).trim();
        sleepTime = Integer.parseInt(setting);

        // set the sleep time to zero (disable sleep)
        Runtime.getRuntime().exec("pmset sleep 0");
    }

    public void enableSleep() throws IOException {
        if (sleepTime == -1) {
            // sleep time is not recorded, assume sleep is enabled
            return;
        }

        // set the sleep time to the previously stored value
        Runtime.getRuntime().exec("pmset sleep " + sleepTime);

        // reset the stored sleep time
        sleepTime = -1;
    }
}

11
задан Harry 2 October 2013 в 16:22
поделиться

4 ответа

Плагин автозаполнения добавляет функцию unautocomplete () для удаления autocomplete () из полей, в которых она есть, поэтому она должна работать, если изменить ваш код на:

$('input.foo').unautocomplete().autocomplete('url?new_param=bar');

Эта функция unautocomplete () должна удалите все старые события.

2
ответ дан 3 December 2019 в 08:56
поделиться

Попробовать

$ ('input.foo').unbind('.autocomplete').autocomplete ('url?new_param=bar') ;
3
ответ дан 3 December 2019 в 08:56
поделиться

Я думаю, ваша проблема в том, что у вас нет формы, включающей поле ввода автозаполнения. Если вы посмотрите код jquery.autocomplete.js, он сделает $ (input.form) .unbind (". Autocomplete"); on unautocomplete (), что означает, что входные данные должны находиться внутри тега формы, чтобы работать.

0
ответ дан 3 December 2019 в 08:56
поделиться

jQuery предоставляет метод flushCache () ( http://docs.jquery.com/Plugins/Autocomplete ) для удаления содержимого, уже сопоставленного с помощью автозаполнения.

Например, если используется элемент html и с ним связано автозаполнение. FlushCache можно указать следующим образом: $ ("# txtElement"). FlushCache (); , и это решит проблему.

2
ответ дан 3 December 2019 в 08:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: