Javascript 将jqueryui自动完成返回的值传递给另一个函数
下面是我的用例:用户选择从自动完成查找返回的选项。从查找返回的数据被分配给表单上的许多其他输入框。进一步进入表单,用户将进入一个选择框,从中选择链接类型。选择链接类型会触发第二个函数,该函数将一些默认值(例如链接描述的样板文本)分配给一些相关的输入框 问题:如何将从自动完成函数中选择的值传递给第二个函数 以下是自动完成代码:Javascript 将jqueryui自动完成返回的值传递给另一个函数,javascript,jquery,jquery-ui,function,jquery-ui-autocomplete,Javascript,Jquery,Jquery Ui,Function,Jquery Ui Autocomplete,下面是我的用例:用户选择从自动完成查找返回的选项。从查找返回的数据被分配给表单上的许多其他输入框。进一步进入表单,用户将进入一个选择框,从中选择链接类型。选择链接类型会触发第二个函数,该函数将一些默认值(例如链接描述的样板文本)分配给一些相关的输入框 问题:如何将从自动完成函数中选择的值传递给第二个函数 以下是自动完成代码: $('#chooseChannel').val(""); $('#chooseHLProgName').val(""); $("#chooseHLProgName").a
$('#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
}
});
我需要将当前在autocomplete中分配给静态setScheduleURL隐藏字段的值传递给下面的函数。具体地说,当用户选择要从中调度的链接时,我希望将自动完成中分配给setScheduleURL的值传递给案例选项$'input[name^=inputLinkURL'+selectNum+']'。setScheduleURL的val值
这是第二个功能:
// 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,是因为这组相关表单字段选择HLLinkType、inputLinkLoc、inputLinkURL、inputLinkText可以克隆
<div id='clonedSection1' class='clonedSection'>
<p><label for="chooseHLLinkType1" id="chooseHLLinkTypeLabel1">Related Info Type<br />
<cfselect name="chooseHLLinkType1" id="chooseHLLinkType1">
<option value="none">-SELECT ONE-</option>
<option value="webLink">Website link</option>
<option value="videoLink">Link to video</option>
<option value="scheduleLink">Link to schedule</option>
<option value="customLink">Custom link</option>
</cfselect>
</label></p>
<p><label for="inputLinkLoc1" id="inputLinkLocLabel1">Link Location<br />
<cfselect name="inputLinkLoc1" id="inputLinkLoc1">
<option value="none">-SELECT ONE-</option>
<option value="internal">Internal: it's on our site</option>
<option value="external">External: it's out on the World Wild Web</option>
</cfselect>
</label></p>
<p><label for="inputLinkURL1" id="inputLinkURLLabel1">Link URL<br />
<cfinput type="text" name="inputLinkURL1" id="inputLinkURL1" size="50" />
</label></p>
<p><label for="inputLinkText1" id="inputLinkTextLabel1">Link text<br />
<cfinput name="inputLinkText1" id="inputLinkText1" size="20" maxlength="13" required="no" />
</label></p>
</div>
到目前为止,我试过的都没用。感谢您的建议。您可以通过以下方式访问setScheduleURL的值:
$('#setScheduleURL').val()
你就不能在第二个函数中调用$'setScheduleURL'.val来获取值吗?天哪,这就行了!我想我已经试过了,但我一定没有正确的语法。非常感谢。谢谢,你介意我的回答吗?