5、JSON内部常用数据类型无非就是字符串、数字、布尔、日期、null 这么几个,字符串必须用双引号引起来,其余的都不用,日期类型比较特殊,这里就不展开讲述了,只是建议如果客户端没有按日期排序功能需求的话,那么把日期时间直接作为字符串传递就好,可以省去很多麻烦。
还有一种更简单的办法 jQuery实现更简单的Ajax跨域请求
代码如下 复制代码
<script type="text/javascript">
$(document).ready(function(){
var oBtnTest = $("#btnTest");
oBtnTest.click(function(){
oBtnTest.disabled = true;
var oResult = $("#result");
oResult.html("loading").css("color","red");
jQuery.getScript("",
function(){
oResult.html("name:" + jimmy.name + "<br/>email:" + jimmy.email).css("color","black");
oBtnTest.disabled = false;
});
});
});
</script>
<button id="btnTest">BtnTest</button>
<div id="result"></div>
远程服务器端js.txt的内容为:
代码如下 复制代码
var jimmy = {name:"jimmy.yang",email:jimmy.yang@163.com}
当然我们也可以直接使用php输出var jimmy = {name:"jimmy.yang",email:jimmy.yang@163.com}也是可以的哦。
(function($) {
$.fn.lee_dialog = function(param){
if(typeof param.dialog=='undefined') return;
var dialog = param.dialog;
var close = param.close || '.close';
var speed = 400;
var margin_left = '-'+parseInt($(dialog).width()/2)+'px';
var margin_top = '-'+parseInt($(dialog).height()/2)+'px';
var _this = null;
var bg = '<div class="lee_dialog_bg" style="width:100%;height:'+$(document).height()+'px;background:#000;opacity:0.7;filter:alpha(opacity=70);position:absolute;left:0;top:0;z-index:2147483600;display:none;"></div>';
$(dialog).css({'position':'fixed','margin-left':margin_left,'margin-top':margin_top,'left':'50%','top':'50%','display':'none','z-index':2147483601});
$('body').append(bg);
$(this).each(function(){
_this = $(this);
_this.click(function(){
if(!$(dialog).is(':visible')){
$('.lee_dialog_bg').fadeIn(parseInt(speed/2));
$(dialog).css({'top':'35%','display':'block','opacity':0.0});
$(dialog).animate({top:'50%',opacity:1},speed);
}
});
$(dialog+' '+close).click(function(){
$(dialog).animate({top:'65%',opacity:0},speed,false,function(){$(this).hide().css('top','50%');$('.lee_dialog_bg').fadeOut(parseInt(speed/2));});
});
});
}
})(jQuery);
checkbox是一个比较特殊的表单元素了,下面我来给大家介绍jQuery表单checkbox操作详解,有需要了解的同学可尝试一下。
你不能直接在html里面这样写:
代码如下 复制代码
<input type="checkbox" name="sf" checked="checked">
一般以上代码是用html默认勾选。可是你如果用到jquery的ajax提交表单,不管你有没勾选,都会提交。因为你的判断不准。
代码如下 复制代码
if (checkbox.attr('checked')){ }
比如上面的判断,就算你钩掉了选中,还是有值会提交。因为你钩掉了之后html并没有变。你可以用jQuery改变html。所以在你的input里面最好不要写 checked=”checked”
如:
代码如下 复制代码
jQuery("#sKeepLogin").attr('checked') == "checked" ? 1 : 0
还有一种判断:
代码如下 复制代码
if($("input[type='checkbox']").prop("checked"))
这是在jquery1.6以上才可以用。可是今天我测试了下,就是有问题。我明显加载的是juqery1.7,还是说prop方法不能用。
我只好改成:
代码如下 复制代码
var val = $(".bottomimg .box_info input[type='checkbox']").attr("checked");
if(val=="checked" || val==true){ }
这里按我最早理解
代码如下 复制代码
if(val==”checked”)
应该这样就能搞定,可是在某种情况下还是有问题。val的值会变成true
所以就变成上面那样。
//由于复选框一般选中的是多个,所以可以循环输出
代码如下 复制代码
$("input[type=checkbox][checked]").each(function(){
alert($(this).val());
});
checkbox的checked问题
jquery判断checkbox是否被选中
在html的checkbox里,选中的话会有属性checked="checked"。
如果用一个checkbox被选中,alert这个checkbox的属性"checked"的值alert($(#xxx).attr("checked")),会打印出"true",而不是"checked"!
如果没被选中,打印出的是"undefined"。
注意红色的部分,这里说到
代码如下 复制代码
$("#chekbox").sttr("checked")//should be print "true" , not "checked"
经过测试,证明上面说法有问题
代码如下 复制代码