我有一张自动填充/基本的表格按预期工作(我想)。我输入三个字符,获得匹配等。 当我选择一个匹配项时,或者使用键(并按Enter确认)或鼠标单击它需要另一个Enter来提交表单。这感觉......不自然: - )
所以我在尝试选择后,尝试让自动填充/基本表单字段为我提交表单。
我的第一次(被误导的)测试尝试涉及做一些事情:
$form->getElement('fieldname')->js('select', $form->js()->univ()->alert('Select!'));
当在表单字段中选择文本时,会触发此操作,而不是我正在寻找的内容。
我开始查看autocomplete_univ.js并且(不成功地)添加了$(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 );
};
答案 0 :(得分:0)
我猜你在ATKs JS库中的变化是不正确的。
可能应该挂钩到其他字段onChange事件。 像这样:
$(other_field).change(
function(){$(other_field).closest('form').submit();}
);