Javascript自动完成-ColdFusion-具有唯一标识符

Javascript自动完成-ColdFusion-具有唯一标识符,javascript,forms,coldfusion,Javascript,Forms,Coldfusion,我发现了这段代码,它工作得很好 但是我还需要一个与名字相关联的身份证 所以这个例子有一个州,比如加利福尼亚州,但我也有一个与加利福尼亚州相关联的唯一ID,比如yye4等等 我可以使用coldfusion轻松创建列表,如下所示 var getStates = function(){ return [<cfoutput query=ulist>"#username#",</cfoutput>];

我发现了这段代码,它工作得很好

但是我还需要一个与名字相关联的身份证

所以这个例子有一个州,比如加利福尼亚州,但我也有一个与加利福尼亚州相关联的唯一ID,比如yye4等等

我可以使用coldfusion轻松创建列表,如下所示

             var getStates = function(){ 
                    return [<cfoutput query=ulist>"#username#",</cfoutput>]; 
              } 
但我还需要在表单中传递一个唯一的数字,该数字也与每个用户名关联

想法

     <html> 
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
      <head> 
        <cfajaximport tags="cfinput-autosuggest"> 
        <script> 
              var init = function() 
              { 
                    autosuggestobj = ColdFusion.Autosuggest.getAutosuggestObject('state'); 
                    autosuggestobj.itemSelectEvent.subscribe(foo); 
              } 
              var foo = function(event,args) 
              { 
                    var msg  = ""; 
                    msg = msg + "Event: " + event + "\n\n"; 
                    msg = msg + "Selected Item: " + args[2] + "\n\n"; 
                    msg = msg + "Index: " + args[1]._nItemIndex + "\n\n"; 
                    alert(msg); 
              } 
              var getStates = function(){ 
                    return ["California","Connecticut","Colorado","Illinois","Alabama","Iowa","Utah","Alaska"]; 
              } 
           </script> 
         </head> 
        <body> 
        <h3>Attaching an event handler to the autosuggest object</h3> 
        <cfform name="mycfform" method="post" > 
              State:<BR> 
              <cfinput 
                    type="text" 
                    name="state" 
                    autosuggest="javascript:getStates({cfautosuggestvalue})" 
                    autosuggestMinLength=1 
                    autosuggestBindDelay=1> 
              <cfset ajaxOnLoad("init")> 
        </cfform> 
       </body> 
       </html>

大概是这个?我使用了一个文本框,而不是一个隐藏的字段,这样你就可以看到它的作用

<html> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<head> 
<cfajaximport tags="cfinput-autosuggest"> 
<script> 
  // itcodes would contain the unique numbers instead of sample names.
  var itCodes = ["Callie","Connie","Col","Illiana","Allie","Fred","Daphne","Alex"];
  var itNames = [];

  var init = function() 
      { 
            autosuggestobj = ColdFusion.Autosuggest.getAutosuggestObject('state'); 
            autosuggestobj.itemSelectEvent.subscribe(foo); 
      } 
      var foo = function(event,args) 
      { 
            var msg  = "";
            var nameIndex = itNames.indexOf(document.getElementById('state').value);
            msg = msg + "Event: " + event + "\n\n"; 
            msg = msg + "Selected Item: " + args[2] + "\n\n"; 
            msg = msg + "Index: " + args[1]._nItemIndex + "\n\n";
            document.getElementById('hCodes').value = itCodes[nameIndex];
        alert(msg); 
      } 
      var getStates = function(){ 
            itNames = ["California","Connecticut","Colorado","Illinois","Alabama","Iowa","Utah","Alaska"]; 
            return itNames;
      }

  </script> 
 </head> 
<body> 
<h3>Attaching an event handler to the autosuggest object</h3> 
<cfform name="mycfform" method="post" > 
      State:<BR> 
      <cfinput 
            type="text" 
            name="state" id="state"
            autosuggest="javascript:getStates({cfautosuggestvalue})" 
            autosuggestMinLength=1 
            autosuggestBindDelay=1>
        <input type="text" id="hCodes" name="hCodes" value="">
      <cfset ajaxOnLoad("init")> 
</cfform> 

你提到的这段代码是什么?Adobe CFAuto Suggest(Adobe CFAuto Suggest)的东西——它可以获得自动完成功能——但我需要第二个字段,其中填充了唯一的id。如果名称是唯一的,用户无法更改,为什么名称本身不够好。此外,如果用户可以拒绝所有autosuggest值并键入他想要的任何内容,那么您如何处理id字段?我明白您的意思,Dan-仅当使用各种其他代码搜索/插入时-我使用的是唯一id等。。。也许更好的解决方案是自动完成选择框…对于美国各州,我会使用选择框。我很抱歉,我看到它不起作用了。我将尝试修复。已更新。可在Chrome和Firefox上运行,并在CFLive.net上进行了测试@珍珠人梅尔似乎无法让它运行。可能会坚持下拉选择框是的,我看到了丹对这个问题的评论,他们是明智的。您还可以查看jQuery插件“selected”,以便将来实现类似的功能。但是,正如Dan所说,一个简单的州选择框就足够了。如果不仅仅是州选择框,那么您需要一个没有现有数据库记录的值计划。