jQuery 获取输入值以检索匹配的数组值以填充隐藏的输入
jquery get input value to retrieve matching array values to populate hidden inputs
寻找有关用于提取存储在数组中的纬度/经度值的表单的一些指导。代码示例不完整(抱歉),只是处于粗略阶段。
<script type="text/javascript">
$document.ready(function(){
var geoCity = [
{ 'Toronto', '43.6532', '-79.3831'},
{ 'Vancouver', '49.2612', '-123.1139'},
{ 'Calgary', '51.04532', '-114.0581'}
];
});
</script>
当为 city 字段输入输入时(实际上在实际表单上使用 bootstrap 的 typeahead),输入的值(在提交表单之前)需要用于搜索数组并提取匹配的纬度/经度值并将它们输入到各自的隐藏输入字段中。
<input type="text" id="city" name="city" value="" />
<input type="hidden" id="latitude" name="latitude" value="" />
<input type="hidden" id="longitude" name="longitude" value="" />
希望有人能引导我朝着正确的方向前进。
是的,更改数据结构。然后将输入值与对象键相关联
$(function () {
var geoCity = {
'Toronto': {
'lat': '43.6532',
'lon': '-79.3831'
},
'Vancouver': {
'lat': '49.2612',
'lon': '-123.1139'
},
'Calgary': {
'lat': '51.04532',
'lon': '-114.0581'
}
};
$('#button').click(function () {
var lat, lon, city = $('#city').val();
if (city) {
lat = geoCity[city].lat;
lon = geoCity[city].lon;
$('#latitude').val(lat);
$('#longitude').val(lon);
}
});
});
小提琴
您需要更改 geoCities 对象的结构,如下所述:
$(function () {
var geoCity = [{
'city': 'Toronto',
'location': ['43.6532', '-79.3831']
}, {
'city': 'Vancouver',
'location': ['49.2612', '-123.1139']
}, {
'city': 'Calgary',
'location': ['51.04532', '-114.0581']
}];
$("#city").blur(function () {
$("#latitude").val("");
$("#longitude").val("");
var curCity = $("#city").val();
var location = $.map(geoCity, function (itm) {
if (itm.city === curCity)
return itm.location;
});
if(location) {
$("#latitude").val(location[0]);
$("#longitude").val(location[1]);
}
});
});
小提琴:http://jsfiddle.net/BJwhu/
您可以$("#city").closest("form").submit
而不是$("#city").blur
。
相关文章:
- $q.all当输入数组中的一项不是promise时,Typescript检查器失败
- 你能提交一个带有文本输入数组的表单吗
- 使用 jQuery 和 Ajax 发送输入数组
- $.when.apply 根据输入数组的长度返回具有不同结构的结果
- PHP只读取动态创建的输入数组的第一个值
- 使用jquery设置输入数组值
- 使用 javascript 验证输入数组
- 角度 UI 预测文本:如何输入未包含在输入数组中的数据
- 将动态输入索引到其他动态输入数组
- 循环遍历输入数组以设置值,“无法设置未定义的属性值”
- 在输入数组元素时在 html 页面中显示数组元素
- Javascript 隐藏输入数组
- 编码然后在 base64 中解码不会输出我的输入数组缓冲区
- 将隐藏的输入数组传递给 jQuery load()
- 将输入数组中的特定输入值发送到 JavaScript
- 在输入数组的 split() 和子字符串 () 之后的文本区域中显示
- Jquery 添加未传递给 php 的输入数组字段
- Javascript函数显示用户输入数组
- 从输入数组中获取sum's元素
- 如何在文本输入数组中插入字符串