我遇到了大麻烦。现在是凌晨2点45分,我从下午6点开始寻找想法或例子或者你想要的任何名字!
我有一个从a调用的js函数,但是我可以让它在所有工作。
这个想法是输入您的城市名称并在选择框中获取建议。然后,从选择框中,您可以单击其中一个城市,此信息将返回到您的表单字段。
有两个文件:index.php(js函数showhint和一个表单调用另一个.php文件来加载城市作为建议)
该代码可在www.bfamily.net上查看
如果有任何帮助,我会非常满意。
此致
答案 0 :(得分:0)
可能会有所帮助
if (filter_var($q, FILTER_SANITIZE_STRING) || !filter_var($q, FILTER_SANITIZE_STRING) === false) {
if ($q !== "") {
$str = "<select name='suggestion'>";
$q = strtolower($q);
$len=strlen($q);
foreach($zipArray as $name) {
if (stristr($q, substr($name, 0, $len))) {
if ($hint === "") {
$hint = $name.'<br/>';
} else {
$hint .= "$name".'<br/>';
}
$suggestion[] = $name;
$str .= "<option value='".$name."'>".$name."</option>";
}
}
$str .= "</select>";
if(count($suggestion) > 0) echo $str
}
}
但我认为更好的方法是在你的html中有一个隐藏的selectBox,然后从.php发送json“suggestions”列表到Ajax的.js文件,然后在你的selectBox中添加适当的选项并使其可见
答案 1 :(得分:0)
在onchange
上添加活动select
以设置值
function(inputName, event) {
document.getElementByName(inputName)[0].value = event.target.selectedOptions[0].value;
}
但是我要求你在inputs
上做一些类似的事情:
<input type="text" name="zipCode1" onkeyup="showHint(this.value)" size="20" value="" style="text-transform:uppercase" list="suggestion">
<datalist id="suggestion">
<option>Houston, TX 77070</option>
<option>Cypress, TX 77433</option>
<option>Cypress, TX 77429</option>
</datalist>
当然,您可以在页面加载时使用datalist
生成PHP
,也可以使用AJAX
请求生成$string="cat, dog, pig, hello";
$arr = explode(", ",$string);
foreach($arr as $key=>$array) {
$key = 'string'.($key+1);
${$key} = $array;
}
。