Обновление2:
Здесь включен jQuery (вместе с текущим jQuery):
<script type="text/javascript" src="/honors/thesis_submission/js/jquery-ui.js"></script>
домен равен http://uwf.edu
$(document).ready(function() {
$('#advisor_email').autocomplete({source: "/honors/thesis_submission/cfc/advisors.cfc?method=advisorLookUp&returnFormat=json", minLength: 2});
});
Обновлен метод:
<cffunction name="advisorLookUp" access="remote" output = "false" returntype="any">
<cfargument name="term" type="string" required="no">
<cfset var advisorLookUp = "">
<cfset var a = []>
<cfset var s = {}>
<cfquery name = "advisorLookUp" datasource = "#dsn#">
SELECT id, email
FROM budPerson
WHERE email like <cfqueryparam cfsqltype="cf_sql_varchar" value = "#trim(arguments.term)#%">
</cfquery>
<cfloop query = "advisorLookUp">
<cfset s = StructNew()>
<cfset s["id"] = id>
<cfset s["label"] = email>
<cfset s["value"] = email>
<cfset arrayAppend(a,s)>
</cfloop>
<cfreturn a>
</cffunction>
Форма:
<cfform enctype="multipart/form-data" name = "coversheet">
<!-- other fields excluded -->
<input name="advisor_email" type="text" id="advisor_email" size="40">
<!-- other fields excluded -->
</cfform>
Обратите внимание еще раз ... Я смог добиться этого, поместив ТО ЖЕ код, который есть в моем методе, на обычную страницу cfm и простоcfoutputing ... странно много?: \ Я бы хотел, чтобы он работал через удаленный метод в моем cfc.
Обновление:
Переключитесь на пользовательский интерфейс jQuery и обновите мой код, чтобы он соответствовал ему.Я все еще не получаю ответ удаленно от моего метода.
-
Я пытаюсь настроить плагин jQuery Autocomplete (в частности: http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/).
Я бы просто использовал сборку coldfusion в автозаполнении, ноэто не работало для меня (выдавая ошибку, которая, очевидно, я ничего не могу с этим поделать.)
В любом случае, мой удаленный метод в моем cfc не даст мне ответа. Firebug действует так, как будто все хорошо и все такое, но на самом деле не дает мне возврата.
Вот моя функция:
<cffunction name="advisorLookUp" access="remote" returntype="any">
<cfargument name="q" type="string" required="yes">
<cfset var advisorLookUp = "">
<cfset var arr = "">
<cfquery name = "advisorLookUp" datasource = "#dsn#">
SELECT id, email
FROM budPerson
WHERE email like <cfqueryparam cfsqltype="cf_sql_varchar" value = "#trim(arguments.q)#%">
</cfquery>
<cfsavecontent variable="arr">
<cfoutput query = "advisorLookUp">
#advisorLookUp.email# | #advisorLookUp.id#
</cfoutput>
</cfsavecontent>
<cfreturn arr>
</cffunction>
Я возвращаю форматирование так, как хочет плагин. Ну, на самом деле это не такЯ думаю, что ... я действительно хочу знать, что я получаю ответ (которого я сейчас не имею).
Вот мой jQuery, вызывающий метод:
$('#advisor_email').autocomplete(
"/honors/thesis_submission/cfc/advisors.cfc?method=advisorLookUp&returnFormat=json");
Я протестировал метод без jQuery, просто выполняя вызов, и он прекрасно работает. Есть идеи?