好吧,标题有点令人困惑,但这是我的困境。我已经制作了一个网络应用程序来在工作中内部跟踪UPS软件包。目前,您输入了跟踪编号,然后选择从中发货的城市。帐户中的所有跟踪号码都以相同的X数量开头。因此,如果有人将“1Z8473 ...”输入到一个输入中,“Houston,TX”将自动输入到下一个输入中。这是一件难以实现的事吗?我从哪里开始?
答案 0 :(得分:2)
您可以监控一个输入以进行更改,然后根据其匹配指定值的内容,更新第二个输入。
琐碎的例子:
<label for="code">Code:</label> <input type="text" id="code" />
<label for="area">Area:</label> <input type="text" id="area" />
<script type='text/javascript'>
$(document).ready(function(){
// Listen for change on our code input
$('#code').keyup(function(){
var entered = $(this).val(); // text entered in 'code'
// Look up the start of the code (first 6 digits?)
if(entered.substring(0,6) == '1Z8473')
{
// Set the value of our "area" input
$('#area').val('Houston, TX');
}
});
});
</script>
上面的示例使用一个简单的if
块来进行匹配。正如其他人在此处发布的那样,您可以将此值发送到服务器端脚本,该脚本执行所需区域的地理位置。所以用以下内容替换上面的if
:
// Look up the area depending on the code entered
$.getJSON(
'/geocoder_on_your_site.php?area='+entered,
function(data) {
$('#area').val(data.location);
});
并在您的服务器上,geocoder_on_your_site.php
:
$input = $_REQUEST['entered'];
// Assume input is sanitised & checked first..
...
// Look up the area base on location
$data['location'] = look_up_location($input);
echo json_encode($data);
答案 1 :(得分:0)
您需要一个地理位置API,例如this one
然后你需要使用AJAX调用来查询它,并将结果的一部分(在这种情况下是城市)放入输入框。
Here's an example类似的东西,安装Firebug并观看它发送的请求。
答案 2 :(得分:0)
检查键盘事件并通过ajax将输入发送到服务器端工具,该工具查看数字并将城市发回。只需将其添加到输入的value
即可添加。