spring boot项目 前台界面动态添加div,以及特定点击div事件,delegate()方法。

因为是初次写前台界面,在有些地方遇到了很多的问题,其中就包括着后台得到List,在前台玄幻div显示界面,接收数据。一下是循环显示的代码。

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>图书借阅记录</title>
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <style>
        body,dl,dd,dt,p,h1,h2,h3,h4,h5,h6{ margin: 0;}
	    ul,ol{margin: 0; list-style: none; padding: 0;}
    	a{ text-decoration: none;cursor: pointer;}
	    *{ margin: 0; padding: 0; }
        body{
            padding: 4px 20px;
        }
        .btn-sm{
            width:180px;
        }
        h2{
			color: #777;
			font: 30px/50px 'Times New Roman';
		}
        body{
            background: #CCC;
            background: url('images/21.jpg') no-repeat 0 0/cover;
        }
        
        .img{
			height: 25px;
			width: 25px;
			position: absolute;
			left: 2%;
			top: 3%;
			cursor: pointer;
		}
        .box{
            width: 85%;
            margin-left: 5%;
            margin-top: 1%;
            height: 80px;
            /* background: #6CF; */
        }
        p{
            font: 14px/20px 'Times New Roman';
            color: #777;
            overflow: hidden;
			text-overflow:ellipsis;
			white-space: nowrap;
        }
        .store{
            height: 25px;
			width: 25px;
            position: relative;
			right: -72%;
			top: 8%;
			/* cursor: pointer; */
            opacity: 0.5;
        }
        .order{
            height: 24px;
			width: 24px;
            position: relative;
			right: -60.5%;
			margin-bottom: 12%;
			/* cursor: pointer; */
            opacity: 0.5;
        }
        .box2:hover {
            background: rgba(206, 204, 204, 0.61);
        }
       
        .order:hover{
            cursor: pointer;
            opacity: 1;
        }
        .store:hover{
            opacity: 1;
            cursor: pointer;
        }
    </style>

    <script src="js/jquery-1.9.1.js"></script>
    <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
   
     </head>
<body >
        <div style="width: 100%;height: 5%;" class="zxc" id="bod">
				<img src="images/fh3.png" class="img">
		</div>
<div class="container" style="margin-top:15%;">
   
    <div class="row" >   
        <h2 style="text-align:center;">请点击图书进行还书&nbsp;</h2>
        
        <div class="box" id="app">           
            </div>
    </div>
    </div>
     <script type="text/javascript">  
     function showData(data) {
    	 
    	 
    	 for (var i = 0; i < data.length; i++) { 
    	
    		 var div=document.createElement("div"); 
    		 div.id='div'+i;
             document.getElementById("app").appendChild(div);
             div.innerHTML='<div style="display:block;height:100px" class="box2"><img src="images/bg.png" style="height:82%;width:20%;position:relative;left:3%;margin-top: 3%;border-radius: 3px;" >'+
             ' <div style="position:relative;left:25%;top:-80px;" class="die">'+
             ' <p1 id="'+data[i].id+'";"class="p1">书的id:'+data[i].id+'</p1>'+
             ' <p>书名:'+data[i].bookname+'</p>'+
             ' <p>出版社:'+data[i].edition+'</p>'+
             '<span class="float:right;font: 12px/20px ;">'+
             '</span>'+
             ' </div></div>'                         	  
    	}
    	  
     }   
    	    $(function () {
    	    	
    	   	 $.ajax({
                 url:"/rReturnbook",
                   type:"post",
                   dataType: "json",
        			contentType:"application/json",
        			
                 success: function (data) {
                	 showData(data);
                	 console.log(data);
                	 },
                    error:function(XMLHttpRequest, textStatus, errorThrown){ 	
                    	alert("失败")
                    }	
            });

	    	 $("div").delegate("p1","click",function(event){  
		        
	    	    var a=$(this).attr("id");
	    	   

	    	    dldata={"id":a};
	   		    var data=JSON.stringify(dldata);
	   		    alert(data);
	   		    event.stopPropagation();
	    	    $.ajax({
	    	         url:"/delete/book",
	    	           type:"post",
	    	           data:data,
	    				contentType:"application/json",
	    				dataType:"json",
	    	         success: function (datas) {
	    	      
	    	        	if(datas==1){
	    	        		
	    	        		alert("归还图书已成功,请将借阅的书籍放到原位");
	    	        	}
	    	                     	    	         
	    	         },  	 
	    	           
	    	            error:function(XMLHttpRequest, textStatus, errorThrown){
	    	            	alert("失败")
	    	            }	
	    	    });
	    	    
	    	   
	    	  });
	    	    	 
    	    });	 
 
     	    	</script>
</body>
</html>

 在这段代码里面还涉及到了delegate()方法,因为这是一个动态添加的界面,所以一般的点击div的方法都不行,需要使用特定的方法,去接收点击事件,在这里我使用的就是delegate()方法。使用$("div").delegate("p1","click",function(event) 的时候要注意几点问题:1,要注意$(“div”)接收到的是每层的div,所以你有多少<div></div>,在最后的时候就会出现多少个弹框。2,要注意添加上事件,也就是function()里面的内容。

一下是一部分后台代码,希望对大家有帮助。

package com.b505.controller;


import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.b505.entity.Bookinfo;
import com.b505.service.BookinfoService;
/**
 * <p>b505信息科学研究所</p>
 * @Description 给前台传递用户借书的信息
 * @Creat date 2018-9-23 22:30
 * @author yulin
 * @return bookinfo
 * 
 */
@RestController
public class ReturnController {
	@Autowired
	private BookinfoService bookinfoService;
		
	@RequestMapping("rReturnbook")
	public List<Bookinfo> ReturnBook(HttpServletRequest request){
		
		HttpSession session = request.getSession();
		
		String borrowopenid = (String)session.getAttribute("openId");		
	    System.out.println(borrowopenid);
		//String openid="ox7Ib07x5jCbRB9JK85Mx400UiPE";
		//将数据放入到bookinfo
		List<Bookinfo> bookinfo=bookinfoService.findbook(borrowopenid);
		
		System.out.println("*************************************************bookinfo="+bookinfo);
		return bookinfo;
			
		
	}
	
		
	
	
}

package com.b505.controller;

import net.sf.json.JSONObject;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.b505.entity.Borrowbook;
import com.b505.service.BrrowBookService;

/**
 * <p>b505信息科学研究所</p>
 * @Description 删除书籍
 * @Creat date 2018-9-25 21:58
 * @author yulin
 *
 */
@Controller
public class DeleteBookController {

	@Autowired
	private BrrowBookService brrowBookService;
	
	@ResponseBody
	@RequestMapping(value = "/delete/book", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	public int getByJSON( @RequestBody JSONObject jsonParam) {
	    // 直接将json信息打印出来
	    System.out.println("---------开始-----------");
	
	    Borrowbook borrowbook =new Borrowbook();
	    
	    borrowbook.setBookid(jsonParam.getInt("id"));
	    
        brrowBookService.delete(jsonParam.getInt("id"));
	    
	    
	    return 1;
	}
}

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值