jquery运行函数前检查字段值
Check value of fields before running function in jquery
我基本上想在页面上有一个脚本,当它发现两个名为"lng"answers"lat"的页面上有一个值时,显示一个地图。
这意味着如果页面上有带值的字段,那么它将尝试显示一个映射,但如果没有,则不显示。
这是我到目前为止的代码:http://jsfiddle.net/spadez/xJhmk/3/
function mapDisplay() {
var latval = $('input[id=lat]').val();
var lngval = $('input[id=lng]').val();
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(latval, lngval),
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true,
scrollwheel: false,
draggable: false
};
var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
}
$(function () {
mapDisplay();
});
我不是很擅长jquery,但这是我试过的,没有工作:
if (latval !=NULL && lngval != NULL)){
...my code
}
有更多知识的人能帮助我理解为什么这种方法不起作用吗?
试试这个
if ( !isNaN(latval) && !isNaN(lngval)) {
基本上它检查两个输入是否是数字,只有当为真才会进入if条件
也var latval = $('input[id=lat]').val();
var lngval = $('input[id=lng]').val();
可以安全地写成
var latval = $('#lat').val(),
lngval = $('#lng').val();
您可以为将显示地图的输入连接change
事件
function mapDisplay() {
var latval = $('#lat').val(),
lngval = $('#lng').val();
if (!isNaN(parseFloat(latval)) && !isNaN(parseFloat(lngval))) {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(latval, lngval),
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true,
scrollwheel: false,
draggable: false
};
var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
$('#map_canvas').removeClass('hidden');
} else {
$('#map_canvas').addClass('hidden');
}
}
$(function () {
$('input').on('change', mapDisplay).trigger('change');
});
检查小提琴
你可以这样做:
var latval = $('#lat').val();
var lngval = $('#lng').val();
if ($.trim(latval) != '' && $.trim(lngval) != '') {
// You code
- 不需要这样做,
input[id=lat]
,你可以直接调用它,如$('#lat')
- 使用
$.trim()
删除字符串开头和结尾的空格。
你的代码是正确的:你只需要在你的CSS中添加一行,以便查看地图:
添加display:block; in #map_canvas
像这样:
#map_canvas {
display:block;
height: 150px;
width: 300px;
}
此外,你可以通过使用jquery设置这个显示属性来改变它的显示设置(取决于变量是否有值)。
默认文本框返回字符串值。对于空文本框,可以勾选
if(latval=='' && lngval==''){alert('blank');}
else{your code;}
从文本框返回的值不是NULL它只是一个空字符串,所以你应该检查值是否为空
if(latval !="" && lngval !=""){
Your code
}
,如果您想只指定数字,请尝试添加
$.isNumeric()
if($.isNumeric(latval) && $.isNumeric(lngval )){
Your code
}
可以访问如下变量:
var lat = jQuery.trim($('#lat').val());
var lng = jQuery.trim($('#lng).val());
并检查字段是否为空
if(lat == '' && lng == '') {
//do code
} else {
//show the map
$("#mapId").show();
}
当你检查纬度/经度时,我也会检查它们是否为数字。
function checkValues() {
var valueOK = false;
if($.isNumeric($('#lat').val())) {
if($.isNumeric($('#lng').val())) valueOK = true;
}
return valueOK;
}
$(function () {
if(checkValues) {
mapDisplay();
}
}
相关文章:
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- 为什么我用于检查所需输入字段的jQuery脚本如此缓慢
- 表单级别的Anguarjs指令,访问所有字段并检查验证
- 正在检查HTML表单上的空字段
- j查询检查复选框是否被选中,然后向输入字段添加值
- 在提交时检查正则表达式验证,如果为空,则聚焦所有输入字段
- 要检查的正则表达式数值字段没有 /或具有所有相同的数字
- 隐藏隐藏的输入字段;检查元件”;
- JQuery:如何检查复选框是否被选中并向字段添加属性
- 我的单选按钮没有从foreach循环中获得值,表单验证返回'必填字段'即使已检查
- 检查以上表格字段是否正确填写
- 如何使用javascript检查id字段为空的单选按钮
- 隐藏字段并将其从检查函数中删除
- Ember-自定义计算属性,用于检查是否存在所有依赖字段
- 中继器中asp.net复选框的必填字段检查
- 空字段检查
- Javascript验证允许多个文件上传的字段.检查是否已作出选择
- 如何用确认密码字段检查密码字段