0
我有一个自动完成/基本的表单,按预期工作(我想)。我输入三个字符,得到匹配等。 当我选择一个匹配时,无论是用键(并用Enter确认)或鼠标单击它需要另一个回车提交表单。这感觉...不自然:-)ATK4自动完成提交表单上选择或输入
所以我试图让选择后,自动完成/基本表单字段提交表单。
我的第一个(误导)测试涉及尝试做线沿线的东西:
$form->getElement('fieldname')->js('select', $form->js()->univ()->alert('Select!'));
该火灾时,在表单字段中选择文本,不完全是我一直在寻找。
我开始看着autocomplete_univ.js和(unsuccesfully)添加$(other_field).closest('form')。submit(); 但我完全不了解jQuery/JS,所以我希望有人能帮助我。
关于如何触发(提交)自动完成选择的任何想法?
this.jquery.autocomplete($.extend({
source: data,
focus: function(event, ui) {
// Imants: fix for item selecting with mouse click
var e=event;
while(e.originalEvent!==undefined) e=e.originalEvent;
if(e.type!='focus') q.val(ui.item[title_field]);
return false;
},
select: function(event, ui) {
q.val(ui.item[title_field]);
$(other_field).val(ui.item[id_field]);
//Added this line below
$(other_field).closest('form').submit();
return false;
},
change: function(event, ui) {
var data=$.data(this);//Get plugin data for 'this'
if(data.uiAutocomplete.selectedItem==undefined) {
if("mustMatch" in options) q.val('');
$(other_field).val(q.val());
return false;
}
}
},options))
.data("ui-autocomplete")._renderItem = function(ul, item) {
return $("<li></li>")
.data("ui-autocomplete-item", item)
.append("<a>" + item[title_field] + "</a>")
.appendTo(ul);
};
没有更多阅读: $(other_field).VAL(ui.item [id_field]); 改为 $(other_field).val(ui.item [id_field] .val); 触发提交像我想要的。除了现在我所需要的值不再被传递。 任何人都可以向我解释为什么并建议修复? –
我改回$(other_field).val(ui.item [id_field]);我不知道为什么 - 但现在看起来像预期的那样工作,在需要时通过提交id来提交。 有人可以确认上述代码的工作原理如下:提交表单并通过鼠标选择和按键传递id? 谢谢 –