Автозаполнение JQuery UI не отправляется после нажатия Enter

0

Я работаю над простым окном поиска, где пользователь может ввести значение или выбрать его из выпадающего меню. Теперь он отлично работает при выборе формы меню, но если вы нажмете Enter, он ничего не сделает. Любая помощь приветствуется. Благодаря

var source = [ { value: "src/devices/consoles/ps4.php",
                 label:"PlayStation 4"
               },
               { value: "src/devices/consoles/ps4.php",
                 label:"PS4"
               },
               { value: "src/devices/consoles/ps4.php",
                 label:"Sony"
               },
                { value: "src/devices/consoles/xbox.php",
                 label:"Xbox One"
               },
               { value: "src/devices/consoles/xbox.php",
                 label:"Microsoft"
               },
                { value: "src/devices/consoles/wiu.php",
                 label:"Nintendo"
              },
              { value: "src/devices/consoles/wiu.php",
                 label:"Wii U"
               }

             ];

    $("input#tags").autocomplete({
        source: source,
        select: function( event, ui ) { 
            window.location.href = ui.item.value;
        }
    });

2 ответа

1
Лучший ответ

В обработчике событий попробуйте добавить свойство val() и keyCode 13 что вы должны разрешить keyCode 13 на keyCode 13 который представляет Enter:

    // ...
    select: function (event, ui) {
        window.location.href = ui.item.value;
        $(this).val(ui.item.value).val();
        if (event.keyCode == 13) {
            $("#id_of_button").submit();
        }
    }
    // ...

Или альтернативный способ в обработчике событий, определяющий нажатие клавиши для ввода и запуска клика:

    // ...
    select: function (event, ui) {
        window.location.href = ui.item.value;
        var e = jQuery.Event("keydown");
         e.which = 13;
         $("id_of_button").trigger(e);
    }
    // ...
  • 0
    Огромное спасибо. Работает отлично.
  • 0
    Рад, что смог помочь! :)
1

Попробуй это:

$("#inputbox").on("keypress", function(e) {
    if (e.which == 13) {
        $("#submitbutton").click();
        // or $("form").submit();
    }
});

Ресурсы:

  • 1
    В случае, если это кнопка submit , вы можете $("#submitbutton").submit(); правильно?
  • 0
    @Praveen Вы можете отправить форму, но не кнопку ...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню