Javascript 从jquery的自动完成发布表单
嘿,伙计们,当点击其中一个选项时,我的下拉列表会失去焦点。我想在点击下拉列表时提交表格;这是我的密码:Javascript 从jquery的自动完成发布表单,javascript,jquery,Javascript,Jquery,嘿,伙计们,当点击其中一个选项时,我的下拉列表会失去焦点。我想在点击下拉列表时提交表格;这是我的密码: $(function() { var availableTags = [ "Thing", "Thing2", "Thing3"]; $( "#searchbox" ).autocomplete({ sour
$(function() {
var availableTags = [
"Thing",
"Thing2",
"Thing3"];
$( "#searchbox" ).autocomplete({
source: availableTags
});
});
我想做的是在从“自动完成”中选择一个下拉列表时提交我的表单
编辑:
忘记我的HTML:
<form action="" method="POST" id="search" accept-charset="UTF-8">
<input id='searchbox' class='ui-widget' type='text' name="search" size="30" />
<button type="submit"/>Search</button>
</form>
编辑3:
谢谢Ehsan,我的结果是:
$function{
var availableTags = [
"my php for tags"];
$( "#searchbox" ).autocomplete({
source: availableTags,
select: function(event, ui)
{
$("#search").submit();
}
});
});
编辑4:
啊,问题是它发布表单,但只发布键入的查询,而不是自动完成:/。即,我键入T并单击T100,它只发布T 编辑5: 感谢AndrewPolland为我的最新问题提供了解决方案:
$( "#searchbox" ).autocomplete({
source: availableTags,
select: function (event, ui) {
$("#searchbox").val(ui.item.value);
$("#search").submit();
}
});
您必须使用autocomplete的select属性,当用户从autocomplete中选择一个选项时,将触发其函数:
$( "#searchbox" ).autocomplete({
source: availableTags,
select: function(event, ui)
{
$("form").submit();
}
});
更新:
在表单中创建隐藏字段:
<form action="" method="POST" id="search" accept-charset="UTF-8">
<input type="hidden" id="selectedValue"/>
<input id='searchbox' class='ui-widget' type='text' name="search" size="30" />
<button type="submit"/>Search</button>
</form>
目前使用非常类似的方法。您可以在自动完成设置中使用select,然后使用submit提交表单 例如 查看问题的更新。您还可以将ajax提交代码移动到单独的函数中,并在选择选项时调用它。不过,上面可能是最好的选项 例如 正如我所说的,第一种选择可能是最好的。只是把它包括在内,以防它更适合你的情况 要解决Edit4问题,请尝试以下操作:
$( "#searchbox" ).autocomplete({
source: availableTags,
select: function (event, ui) {
$("#searchbox").val(ui.item.value);
$("#search").submit();
}
});
啊,问题是它发布表单,但只发布键入的查询,而不是自动完成:/。即,我键入T,然后单击T100,它只发布T。谢谢,伙计,你和安德鲁帮了很多忙=欢迎并很高兴它帮了忙。很高兴我能帮上忙:
$( "#searchbox" ).autocomplete({
source: availableTags,
select: function(event, ui)
{
$('#selectedValue').val(ui.item.value);
$("form").submit();
}
});
$( "#searchbox" ).autocomplete({
source: availableTags,
select: function (event, ui) {
$("#search").submit();
}
});
function formSubmit(){
/* Clear result div*/
$("#result").html('');
/* Get some values from elements on the page: */
var values = $(this).serialize();
/* Send the data using post and put the results in a div */
$.ajax({
url: "ajax/search.inc.php",
type: "post",
data: values,
dataType: "text",
success: function(data) {
$("#result").html(data);
}
});
}
$( "#searchbox" ).autocomplete({
source: availableTags,
select: function (event, ui) {
formSubmit();
}
});
$("#search").submit(function(event) {
/* Stop form from submitting normally */
event.preventDefault();
formSubmit();
});
$( "#searchbox" ).autocomplete({
source: availableTags,
select: function (event, ui) {
$("#searchbox").val(ui.item.value);
$("#search").submit();
}
});