grails Ajax Jquery

本文介绍如何利用jQuery的Ajax功能实现页面元素的动态加载与更新。通过具体示例展示了如何根据选择项的变化来调用后台接口并更新指定区域的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Using Jquery.js

在script里写上jquery的Ajax 注意#'''' 都是tag的id

    <script>
      $(document).ready(function() {
        $("#selectGroup").change(function() {      //对selectGroup的change做响应
         $.ajax({
              url: "/TaskManager/testProject/groupChange",      //响应到那个处理 对应到controller的函数
              data: "id=" + this.value,
              cache: false,
              success: function(html) {$("#selectbody").html(html)}    //对selectbody部分做html替换
            });
        });
      });
   </script>

 

def groupChange = {
        def tempList = TestProject.findAll("from TestProject as b where b.createBy.username=?",[request.getRemoteUser()]).toList()

        for(int i=0;i<tempList.size();i++)
        {
          render("<tr class='${(i % 2) == 0 ? 'odd' : 'even'}'><td><a href='/TaskManager/testProject/show/${tempList[i].id}'>${tempList[i].projectName}</a></td><td>${tempList[i].projectDescription}</td><td>${request.getRemoteUser()}</td></tr>")//返回的是html
        }
    }

 

//也可以返回标签 但是是g.select之类 而且不能返回逻辑标签

     render g.select(from:module.testCases.grep{it.runnable==true},id: 'testCase', name: "testCase",size:20, style:"width:400")

 

Jquery直接当javascript更方便

    <script>
      $(document).ready(function() {
        $("#selectGroup").change(function() {
           if(this.value=="MyProject")
               window.location.assign("${createLink(controller:'testProject', action:'listuser')}")
           if(this.value=="AllProject")
               window.location.assign("${createLink(controller:'testProject', action:'listAll')}")
           if(this.value=="GroupProject")
               window.location.assign("${createLink(controller:'testProject', action:'list')}")
        });
      });
   </script>

 

window.location.href  在浏览器中就是完整的地址栏

window.location.protocol URL 的协议部分
window.location.host URL 的主机部分

window.location.port URL 的端口部分

window.location.pathname URL 的路径部分(就是文件地址)
window.location.search 查询(参数)部分




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值