Я работаю над простым окном поиска, где пользователь может ввести значение или выбрать его из выпадающего меню. Теперь он отлично работает при выборе формы меню, но если вы нажмете 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;
}
});
В обработчике событий попробуйте добавить свойство 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);
}
// ...
Попробуй это:
$("#inputbox").on("keypress", function(e) {
if (e.which == 13) {
$("#submitbutton").click();
// or $("form").submit();
}
});
Ресурсы:
submit
, вы можете $("#submitbutton").submit();
правильно?