我正在尝试以下代码来执行搜索,但它不起作用。在 search.cfm 页面上,返回的唯一值是我在搜索字段中输入的值(即使我单击自动建议值,它也不会返回;只有我自己实际键入的字母会返回)。
<cfform class="titleSearchForm" id="searchForm" action="search.cfm?GameID=#cfautosuggestvalue.GameID#" method="post">
<fieldset>
<cfinput type="text" class="titleSearchField" name="TitleName" onChange="form.submit()" autosuggest="cfc:gz.cfcomp.search.AutoSuggestSearch({cfautosuggestvalue})">
<input type="button" class="titleSearchButton" value=" " />
</fieldset>
</cfform>
在 CFC 中查询:
<cfquery name="SearchResult" datasource="myDSN">
SELECT CONCAT(titles.TitleName, ' on ', platforms.PlatformAbbreviation) AS sResult, games.GameID
FROM
games
Inner Join platforms ON games.PlatformID = platforms.PlatformID
Inner Join titles ON titles.TitleID = games.TitleID
WHERE
UCase(titleName) LIKE Ucase('#ARGUMENTS.SearchString#%')
ORDER BY
titleName ASC;
</cfquery>
两件事:首先,我想将 GameID 返回到发出 AJAX 请求的页面;我知道为什么它没有回来:因为我只返回sResult
var,它不包括 GameID。有没有办法在不显示的情况下返回 GameID 值?
第二件事:一旦返回自动建议,我如何从自动建议中获取一个值?假设我想获取 GameID,或者如果我不能这样做,在查询中使用“TitleName”?
我尝试以这种方式将其传递给表单:action="search.cfm?GameID=#cfautosuggestvalue.GameID#"
- 但这不起作用。如何引用 autosuggestionvalue 变量以供使用?
谢谢