Jquery 相关自动完成字段

Jquery 相关自动完成字段,jquery,autocomplete,Jquery,Autocomplete,我试图有两个文本框自动完成和填充彼此。这是我到目前为止的代码,我被困在这一点上 <script type="text/javascript" language="javascript" src="scripts/jquery-latest.js"> </script> <script type="text/javascript" language="javascript" src="scripts/jquery.ui.js"></script>

我试图有两个文本框自动完成和填充彼此。这是我到目前为止的代码,我被困在这一点上

<script type="text/javascript" language="javascript" src="scripts/jquery-latest.js">  </script>
<script type="text/javascript" language="javascript" src="scripts/jquery.ui.js"></script>
<script type="text/javascript">
$().ready(function() {
$('#compName').keyup(function() {
    var txtSrch = $(this).val();
    if ( txtSrch && txtSrch.length > 2 ) {
        formData = 'vw=getCompany&compID=0&compName=' + txtSrch;
        // alert(formData); 
        $.ajax({ 
            url: 'output.cfm',
            data: formData,
            type: "post",
            cache: false,
            success: function(result) {
                $('#result').html(result);
            },
            error: function(xmlHttpRequest, status, err) {
                confirm('Error!' + err );
            }
        });
    }
});
});
</script>
<div style="width:400px; padding:20px;">
     <p>Company Selection</p>
     <label for="compID">Company ID:</label><br/>
    <input type="text" name="compID" id="compID" value="" />
    <br/>
    <label for="compName">Company Name:</label><br/>
    <input type="text" name="compName" id="compName" value="" />
    <div id="sel-comp" style="clear:both;"></div>
    <input type="submit" name="submit" id="submit" value="Submit">
     <div id="result"></div>
</div>

$().ready(函数()){
$('#compName').keyup(函数(){
var txtSrch=$(this.val();
if(txtSrch&&txtSrch.length>2){
formData='vw=getCompany&compID=0&compName='+txtSrch;
//警报(formData);
$.ajax({
url:'output.cfm',
数据:formData,
类型:“post”,
cache:false,
成功:功能(结果){
$('#result').html(result);
},
错误:函数(xmlHttpRequest、状态、错误){
确认('Error!'+err);
}
});
}
});
});
公司选择

公司ID:

公司名称:
output.cfm具有:

<script>
var  compName = [{"id":"1000","name":"company1|CO|80401-8077|1000"},{"id":"1005","name":"company2|CO|80308-2291|1005"},{"id":"1010","name":"company3|CO|80202-1450|1010"},{"id":"1015","name":"company4|CO|80206-0109|1015"},{"id":"1020","name":"company5|CO|80003-6638|1020"}];

$('##compName').autocomplete({
source: compName
});
</script>

var compName=[{“id”:“1000”,“名称”:“company1 | CO | 80401-8077 | 1000”,{“id”:“1005”,“名称”:“company2 | CO | 8008-2291 | 1005”,{“id”:“1010”,“名称”:“company3 | CO | 80202-1450 | 1010”,{“id”:“1015”;“名称”:“company4 | CO 124808-0109 124809 1240”;“COMPANY1025”;“名称”:“company3”{;
$('##compName')。自动完成({
资料来源:compName
});
如果有人输入公司ID 100,我想为自动完成提供以下选项1000、1005、1010、1015和1020。选择后,我希望使用该id对应的公司名称填充公司名称,反之亦然。名称字符串包括以“|”分隔的公司名称、州、邮政编码和公司id

有什么想法吗? 提前感谢。

您的工作代码。参考一下

   <div style="width:400px; padding:20px;">
        <p>Company Selection</p>
        <label for="compID">Company ID:</label><br/>
        <input type="text" name="compID" id="compID" value="" />
        <br/>
        <label for="compName">Company Name:</label><br/>
        <input type="text" name="compName" id="compName" value="" />
        <div id="sel-comp" style="clear:both;"></div>
        <input type="submit" name="submit" id="submit" value="Submit">
        <div id="result"></div>
    </div>

  $(function() {

    var compName = [{"id":"1000","value":"company1|CO|80401-8077|1000"},{"id":"1005","value":"company2|CO|80308-2291|1005"},{"id":"1010","value":"company3|CO|80202-1450|1010"},{"id":"1015","value":"company4|CO|80206-0109|1015"},{"id":"1020","value":"company5|CO|80003-6638|1020"}];            
    var source  = [ ];
    var mapping = { };
    for(var i = 0; i <compName .length; ++i) {
        source.push(compName [i].id);
        mapping[compName[i].id] = compName[i].value;
    }    
    $("#compID").autocomplete({
        source: source,
        minLength: 1,
        select: function(event, ui) {  
            $("#compName").val(mapping[ui.item.value]); 
        } 
    });
});

公司选择

公司ID:

公司名称:
$(函数(){ var compName=[{“id”:“1000”,“value”:“company1 | CO | 80401-8077 | 1000”,{“id”:“1005”,“value”:“company2 | CO | 8008-2291 | 1005”,{“id”:“1010”,“value”:“company3 | CO | 80202-1450 | 1010”,{“id”:“1015”,“value”:“company4 | CO 124809-0109 124809”;“id”CO 124080”;“company10”;“value”:; var源=[]; var映射={};
对于(var i=0;我感谢您快速而激烈的回复。如果我输入1,首先我希望看到以1*开头的id列表。然后,如果我输入17,我希望在国家字段上看到阿尔巴尼亚。我如何做到这一点?这是您要求的工作代码。.当您选择id 17时,它将显示阿尔巴尼亚。这是您在fiddle链接中工作的代码升级。仍在努力将二者结合为一个解决方案。感谢您的帮助。