При использовании jQuery Autosuggest пользователи могут начать вводить номер детали, и autosuggest показывает список похожих деталей. После выбора детали я хочу, чтобы описание появилось в текстовом поле рядом с номером детали. Номера деталей и описание возвращаются из CFC, но я не могу отобразить описание детали в текстовом поле описания детали. как я могу это сделать?
Форма с jQuery:
<form action="index.cfm?action=reports:part.test" method="post">
<fieldset>
<legend>test</legend>
<p>Start typing a part number.</p>
<p>
<label for="partnum">Part Number: </label>
<input type="text" id="partnum" name="partnum" />
<input readonly="readonly" type="text" id="partdescription" name="partdescription" />
</p>
<p>
<input type="submit" name="submit" value="Submit" />
</p>
</fieldset>
</form>
<cfsavecontent variable="datatables_definitions">
<!-- added by user.list -->
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
$(document).ready(function(){
$('#partnum').autocomplete(
{source: function(request, response) {
$.ajax({
url: "/reports/services/remote/partSuggest.cfc?method=lookUpPart&returnformat=json",
dataType: "json",
data: {
search: request.term,
maxRows: 10
},
success: function(data) {
response(data);
$('#partdescription').val(partdescription);
},
})
},
parse: function(data){
return $.map(data, function(item) {
return { data: item, value: item, result: item };
});
}
});
});
</SCRIPT>
</cfsavecontent>
<cfhtmlhead text="#datatables_definitions#" />
CFC, выполняющий запрос:
<cfcomponent output="false">
<cffunction name="lookUpPart" access="remote" returntype="any" >
<cfargument name="search" type="any" required="false" default="">
<cfargument name="datasource" type="string" required="no" default="myDSN">
<!--- Define variables --->
<cfset var data="">
<cfset var result=ArrayNew(1)>
<!--- Do search --->
<cfquery name="getPart" datasource="#arguments.datasource#">
SELECT top 20 partnum, partdescription
FROM part
WHERE partnum LIKE '%#trim(arguments.search)#%'
ORDER BY partnum
</cfquery>
<!--- Build result array --->
<cfloop query="getPart">
<cfset returnStruct = StructNew() />
<cfset returnStruct["partnum"] = partnum />
<cfset returnStruct["partdescription"] = partdescription />
<cfset ArrayAppend(result,returnStruct) />
</cfloop>
<!--- And return it --->
<cfreturn serializeJSON(result) />
</cffunction>
</cfcomponent>
Опять же, как только пользователь успешно выберет номер детали из списка, я хочу, чтобы описание соответствующей детали появилось в поле описания детали рядом с номером детали.
Спасибо.