如何 return 同时 "id" 和 "text"
How to return both an "id" and "text"
我正在使用 AutoComplete 按名称搜索。我能够输出名称,但在提交表单后,我想传递 emp_id
值,而不是 fullname
。如何修改它以获得 emp_id
值,而不是 fullname
?
我希望在提交表单后得到 emp_id
而不是 fullname
值。
search_employee.cfc
<cfcomponent>
<cffunction name="queryNames" access="remote">
<cfargument name="searchPhrase" />
<cfquery name="query_names" datasource="">
SELECT fullname ,emp_id ....
</cfquery>
<cfset result = arrayNew(1) />
<cfloop query="query_names">
<cfset ArrayAppend(result, query_names.fullname) />
</cfloop>
<cfreturn result />
</cffunction>
</cfcomponent>
JavaScript
<script>
$(document).ready(function() {
$('.gettingName').autocomplete({
source: function(query, response) {
$.ajax({
url: "test.cfc?method=queryNames&returnformat=json",
dataType: "json",
data: {
searchPhrase: query.term
},
success: function(result) {
response(result);
}
});
}
});
</script>
您的意思是显示所选的 "FullName",但将其 ID 存储在另一个表单字段中?
添加用于存储 "id" 的表单域:
<input id="gettingName">
<input id="theValue">
将组件修改为return结构数组。每个结构包含两个名为 "value" (id) 和 "label" (fullName) 的键。
<cfloop query="local.query_names">
<cfset local.data = {"value": emp_id, "label": fullName}>
<cfset ArrayAppend(local.result, local.data) />
</cfloop>
在javascript中,使用select event to update the values of the two fields。
select: function(event, ui) {
$('#gettingName').val(ui.item.label);
$('#theValue').val(ui.item.value);
return false;
},
我正在使用 AutoComplete 按名称搜索。我能够输出名称,但在提交表单后,我想传递 emp_id
值,而不是 fullname
。如何修改它以获得 emp_id
值,而不是 fullname
?
我希望在提交表单后得到 emp_id
而不是 fullname
值。
search_employee.cfc
<cfcomponent>
<cffunction name="queryNames" access="remote">
<cfargument name="searchPhrase" />
<cfquery name="query_names" datasource="">
SELECT fullname ,emp_id ....
</cfquery>
<cfset result = arrayNew(1) />
<cfloop query="query_names">
<cfset ArrayAppend(result, query_names.fullname) />
</cfloop>
<cfreturn result />
</cffunction>
</cfcomponent>
JavaScript
<script>
$(document).ready(function() {
$('.gettingName').autocomplete({
source: function(query, response) {
$.ajax({
url: "test.cfc?method=queryNames&returnformat=json",
dataType: "json",
data: {
searchPhrase: query.term
},
success: function(result) {
response(result);
}
});
}
});
</script>
您的意思是显示所选的 "FullName",但将其 ID 存储在另一个表单字段中?
添加用于存储 "id" 的表单域:
<input id="gettingName">
<input id="theValue">
将组件修改为return结构数组。每个结构包含两个名为 "value" (id) 和 "label" (fullName) 的键。
<cfloop query="local.query_names">
<cfset local.data = {"value": emp_id, "label": fullName}>
<cfset ArrayAppend(local.result, local.data) />
</cfloop>
在javascript中,使用select event to update the values of the two fields。
select: function(event, ui) {
$('#gettingName').val(ui.item.label);
$('#theValue').val(ui.item.value);
return false;
},