jquery自动完成,对话框更新值
我有一个在对话框中打开的表单。 其中一个字段具有自动完成function。 构建所有字段并将服务器值存储在其中以预填充表单。
var mydiv = jQuery("#editform"); var $myform = jQuery(""); ... var $mylabel10 = jQuery(""); var $myinput9 = jQuery(""); var $mylabel9 = jQuery(""); var $myinput8 = jQuery(""); //path is a value passed in from the server $myform.append(... $mylabel10, $myinput9, $mylabel9, $myinput8); mydiv.append($myform); //autocomplete code - order is important to have autocomplete go outside dialog var available = [ { label : 'foo', value : 'bar' }, { label : 'xyz', value : 'abc' }, ... ]; jQuery( "#EditSelect", mydiv ).autocomplete({ source: available, focus : function(){ return false; } }) .on( 'autocompleteselect', function( e, ui ){ var t = jQuery(this), details = jQuery('#EditSelect2'), label = ( e.type == 'autocompleteresponse' ? ui.content[0].label : ui.item.label ), value = ( e.type == 'autocompleteresponse' ? ui.content[0].value : ui.item.value ); t.val( label ); details.val( value ); //doesn't update the form here? return false; }); // get reference to autocomplete element var autoComplete = jQuery("#EditSelect", mydiv).autocomplete("widget"); var dialogOpts = { modal: true, autoOpen: true, resizable: false, width: 525, height: 'auto', title: 'Edit settings' }; mydiv.dialog(dialogOpts); autoComplete.insertAfter(mydiv.parent());
在此编辑对话框中是一个自动完成,选中它后应更新其他输入字段( #EditSelect2
)。 目前#EditSelect2具有来自服务器的值(在变量path
)。
当从自动完成中选择一个新值时,我希望表单由于以下代码而更新: details.val( value );
。 现在自动完成工作正常,但在自动完成中选择新选项后,服务器( path
)的值不会更新。
希望这是有道理的。
myinput8语句中存在一个小的语法错误:
$myinput8 = jQuery("");
请注意最后的额外单引号。