将从jqueryui autocomplete返回的值传递给另一个函数

这是我的用例:用户选择从自动完成查找返回的选项。 从查找返回的数据被分配给表单上的许多其他输入框。 进一步在表单中,用户进入选择框,在那里他们选择“链接类型”。 链接类型的选择触发第二个函数,该函数将一些默认值(例如链接描述的样板文本)分配给某些相关的输入框。

问题:如何将从自动完成function中选择的值传递给第二个function?

这是自动完成代码:

$('#chooseChannel').val(""); $('#chooseHLProgName').val(""); $("#chooseHLProgName").autocomplete({ source: function( request, response ) { $.getJSON( '/test/myCFC.cfc?', { method: 'qryMyMethod', returnformat: 'json', searchTerm: request.term, dsn: 'myDSN', virtChannel: $('#chooseChannel').val() }, response ); }, minLength: 3, select: function(event,ui) { $('#seriesID').val(ui.item.seriesid), $('#versionID').val(ui.item.versionid), $('#channel').val($ ('#chooseChannel').val() ), $('#chooseHLTitle').val(ui.item.progFullTitle), $('#chooseHLDesc').val(ui.item.progDesc), $('#chooseHLDateTimeInfo').val(ui.item.progDateTime), $('#setScheduleURL').val('/schedules/listingDetails.cfm?seriesID=' + ui.item.seriesid + '&versionID=' + ui.item.versionid + '&virtChannel=' + $('#chooseChannel').val() + '&ThisDate=' + ui.item.progDate) // This is the value I want to use in another function } }); 

我需要将当前被分配的值(在自动完成内)到静态#setScheduleURL隐藏字段,而不是传递给下面的函数。 具体来说,当用户从选择Link to schedule ,我希望分配给#setScheduleURL(在自动完成中)的值已通过到case选项, $('input[name^=inputLinkURL'+ selectNum + ']').val( VALUE OF #SETSCHEDULEURL );

这是第二个function:

 // insert default text strings into input boxes based on value of selected 'chooseHLLinkType' option $('select[name^=chooseHLLinkType]').change(function() { var selectValue = $(this).val(); var selectNum = $(this).attr("id").charAt($(this).attr("id").length-1); switch(selectValue) { case 'webLink' :selectValue='Visit website'; $('input[name=inputLinkText'+ selectNum + ']').val( selectValue );break; case 'videoLink' :selectValue='View Preview'; $('input[name^=inputLinkText'+ selectNum + ']').val( selectValue );break; case 'scheduleLink' :selectValue='View schedule'; $('select[name^=inputLinkLoc'+ selectNum + ']').val( 'internal' ); $('input[name^=inputLinkURL'+ selectNum + ']').val( VALUE OF #SETSCHEDULEURL ); $('input[name^=inputLinkText'+ selectNum + ']').val( selectValue );break; case 'customLink' :selectValue=''; $('input[name^=inputLinkText'+ selectNum + ']').val( selectValue );break; } }); 

这是html的相关部分。 注意:分配动态ID是因为可以克隆这组相关的表单字段(chooseHLLinkType,inputLinkLoc,inputLinkURL,inputLinkText)。

 

到目前为止,我没有尝试过任何工作。 谢谢你的建议。

您可以像这样访问#setScheduleURL的值:

 $('#setScheduleURL').val()