当前位置: 代码迷 >> Web前端 >> Jquery一些施用
  详细解决方案

Jquery一些施用

热度:205   发布时间:2012-11-22 00:16:41.0
Jquery一些使用
一般都是从 $(document).reayd(function(){
  ………
});
通过ajax传值给后台
$ajax({
Type:”post”,   //传的类型 或get
url:” ”,       //路径
data : “param= 111“,       //param 要传递的值、比如param=111
success:function(responseText){       //成功后相应
$(‘#aa’).html(responseText) ;        //比如aa为div的id名,responseText就为后台返回的值
}
});

比如struts1 action里值应该加上  response.getWriter().println(responseText);       
responseText 代表要返回的值       又可以返回的是 json格式的值
目的将取得的返回值填充div效果

load 方式请求ajax,返回值在div中显示,载入远程html文件代码并插入到DOM中。
   <%@ page language="java" pageEncoding="UTF-8"%>
<html>
     <head>
         <script type="text/javascript" src="jquery-1.2.6-vsdoc-cn.js"></script>
          <script type="text/javascript">
             //用jquery处理ajax请求
              function doajax(){            ajax请求的url地址        传递到后台的数组参数             后台返回来的结果
                  $('#testja').load('/ajaxTest/jquery-ajax/testajax.do',{param:456},function(responseText){
                     alert(responseText);
                 });
             }
         </script>
     </head>

     <body>
         <a href="javascript:doajax();">测试jquery-ajax</a>
         <div id="testja"></div>
     </body>
</html>

  $.ajaxSetup({...})    全局设置ajax默认选项,语法等同于$.ajax({...})。
//全局设定ajax
              $.ajaxSetup({
                 data: "param=456&aa=aaa"
             });
            
             //控制细节
              function doajax(){
                  $.ajax({                                        --------------------->
                     type: "post",                                                            可以将$.ajax({...})中的设置,全部提到$.ajaxSetup({...}),更加通用。但必须至少保留$.ajax({...})
                     url: "/ajaxTest/jquery-ajax/testajax.do",
                     //data: "param=456123&aa=aaa",
                      success: function(responseText){
                         $('#testja').html(responseText);
                     }
                 });
             }


按索引删除table某行
document.getElementById('table').rows[rowIndex].style.display='null'

可以在成功执行函数之前实现loading~~~  
beforeSend: function(){
          $("#loading"+prm).show();    //成功之前  div显示
}
success:function (msg){ //后台成功后值
          $("#"+iTc).html(msg);
  },
complete:function (){
          $("#loading"+prm).hide(); //成功执行之后 隐藏
},
error:function (){
          $("#loading"+prm).html("加载有误!")    //错误时~~
}

jquery radio,checkbox,select操作
获取一组radio被选中项的值
var item = $('input[@name=items][@checked]').val();
获取select被选中项的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二个元素为当前选中值
$('#select_id')[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$('input[@name=items]').get(1).checked = true;
获取值:
文本框,文本区域:$("#txt").attr("value");
多选框checkbox:$("#checkbox_id").attr("value");
单选组radio:   $("input[@type=radio][@checked]").val();
下拉框select: $('#sel').val();
控制表单元素:
文本框,文本区域:$("#txt").attr("value",'');//清空内容
                 $("#txt").attr("value",'11');//填充内容
多选框checkbox: $("#chk1").attr("checked",'');//不打勾
                 $("#chk2").attr("checked",true);//打勾
                 if($("#chk1").attr('checked')==undefined) //判断是否已经打勾
<input type=”checkbox” name=”checkedAll” id=”checkedAll”/>全选/取消全选
1. <script type="text/javascript">
2. <!--
3. $(function() {
4. $("#checkedAll").click(function() {
5. if ($(this).attr("checked") == true) { // 全选
6.    $("input[@name='checkbox_name[]']").each(function() {
7.    $(this).attr("checked", true);
8.   });
9. } else { // 取消全选
10.    $("input[@name='checkbox_name[]']").each(function() {
11.    $(this).attr("checked", false);
12.   });
13. }
14. });
15. });
16. //-->
17. </script>

单选组radio:    $("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项
下拉框select:   $("#sel").attr("value",'-sel3');//设置value=-sel3的项目为当前选中项
var st_fundName = $("#id option:selected").text(); 取下拉文本
                $("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option
                $("#sel").empty();//清空下拉框

Action中可以这样做:HttpResponse response = ServletActionContext.getResponse();
          response.setCharacterEncoding("utf-8");
          PrintWriter writer = response.getWriter();
          将要返回的数据拼成json字符串,假定返回Student对象
            String json = "{\"age\":20,\"name\":\"zhangsan\"}";
          writer.println(json);
          writer.flush();
          writer.close();
          return null;     //这样写的话就是一个原页面的ajax操作,页面无跳转

ajax中可以这样得到数据:
            $.getJSON(
               "xxx.action",
               function(data) {
                    alert(data.name);
                    alert(data.age);
               }

          );
所以json返回值可以是一个对象,在后台赋值也行,在前台取值也可以(对象.getAa();)  通俗说法对象的aa的字段

$("#package").empty(); 填充DIV可使用这句来清空原来的div内容

如果使用struts2 可以在返回值为json时 可以用返回值json。* 来获取任何一个带get方法的值

JSONArray jsonArray2 = JSONArray.fromObject( li );转换json对象  

Dblclick 双击事件

$(window).unload( function () { alert("Bye now!"); } ); 窗体一开始载入。

.隔行换色,我在这里构建了一个alternateRowColors()隔行换色的jquery插件
1. jQuery.fn.alternateRowColors = function(){  
2.     $("tbody tr:odd",this).removeClass("even").addClass("odd");  
3.     $("tbody tr:even",this).removeClass("odd").addClass("even");  
4.     return this;  
5. }



<script language="JavaScript">   
$(document).ready(function(){   
   $("#button").click(function(){     
       //将form1表单域的值转换为请求参数  
        var params = $("#form1").serialize(); 
       // alert(params);  
       $.ajax({  
          
          type:"post",  
          url: 'JSONExample.action',     
          async:true,  
          data:params,  
          success:function(json){
        
             $("#show").html(json);
            //alert(json);   
          }  
        });  
     });   
});        
</script>     
</head>    
<body>    
<form id="form1" name="form1" method="post">    
<INPUT TYPE="text" name="field1" id="field1"/><br>    
<INPUT TYPE="text" name="field2" id="field2"/><br>    
<INPUT TYPE="text" name="field3" id="field3"/><br>    
<INPUT TYPE="button" value="提交" id="button"/>    
</form> 

/**
* 转换日期
* @author Administrator
* @desc
* JsonConfig config = new JsonConfig();
* config.registerJsonValueProcessor(java.util.Date.class, new JsonValueProcessorImpl());
* config.registerJsonValueProcessor(java.sql.Date.class, new JsonValueProcessorImpl());
* JSONObject jsonObject = JSONObject.fromObject(hashMap, config);
*
*/





  相关解决方案