-1

嗨,我想在输入公司名称时放置搜索框,就像拨号站点一样,它会自动在另一个文本框中填写城市名称

" onfocus="javascript:this.value='';" onblur="javascript: if(this.value==''){this.value='';}" onKeydown="javascript: if (event.keyCode= =13)serachProduct();"/>
                <div class="textCurve1" style="float:left;margin-left:10px;">
                    <div class="selectsSR">
                        <input type="text" id="cityname" name="cityname" onKeydown="javascript: if (event.keyCode==13)serachProduct();" value="<?php if(isset($cityName)){echo ucfirst($cityName);}else{echo"City";} ?>" onfocus="javascript:this.value='';" onblur="javascript: if(this.value==''){this.value='<?php if(isset($cityName)){echo ucfirst($cityName);}else{echo"City";} ?>';}"/>
                    </div>
                </div>

SELECT select_company.company_name,select_city.city FROM select_company LEFT JOIN select_city ON(select_company.city=select_city.id) WHERE select_company.company_name LIKE ".$this->db->e​​scape($company."%")." 限制 10"

想要自动更新城市字段文本框

4

1 回答 1

1

您可以做的是您可以在第一个文本框的 keyup、keydown 或 onblur 上触发 ajax 调用。

将第一个文本框数据传递给 ajax php 文件

现在搜索您的公司数据库并查找该公司是否存在以及数据库中的相关城市是否存在。

选择城市名称并在 ajax.php 文件中回显它以发送响应。

当您收到响应时,只需将第二个文本框的 innerHtml 替换为您在响应中获得的城市名称。

我已经为您提供了基本逻辑,您自己尝试一下,您也可以在网上找到示例,如果您无法获得结果,请发布您尝试过的代码,我一定会帮助您。

下面是ajax函数

function loadcity(val) {
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

            var res = xmlhttp.responseText;// The response contain the city name returned from the php file from the query result 
            document.getElementById('citytextbox').value=res;// insert the city name in the city text box
            document.getElementById('loaderdivid').style.display='none';//hide loader when you got the response  
        }
    }
    var url = 'ajax.php'; // Url for the ajax.php file where you will fire query to get the city name 

    //Before response
    //Write the code if you want to add some loder image untill the response comes
    document.getElementById('loaderdivid').style.display='block';// show the loader when the request is made 

    xmlhttp.open("POST", url, true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send("data=" + val);
}

您已经将查询写入 ajax.php 文件

并在函数中传递第一个文本框值,其余部分您可以通过代码中的注释来理解

于 2013-11-13T06:02:48.753 回答