数据回显
文本框输入的值对应的是一个value,所以通过el表达式获取域中数据后给到value
<%@ page contentType="text/html;charset=UTF-8" language="java" %><%--导入jstl标签库--%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%String path = request.getContextPath();%><html><head><title>编辑界面</title></head><%--引入jquery框架--%><script src="<%=path%>/jquery/jquery-1.7.2.js"></script><script>//文本就绪函数$(function (){/**单选框的回显*/var els = $([name = 'sex'])//each() 遍历方法els.each(function (){//获取的是当前标签对象对应的value的值//this 表示当前标签对象 原生js对象,val()是jquery方法,所以要将this封装成jquery对象var value = $(this).val()//获取域对象中的sex值//加单引号使之成为一种数据类型,否则接收不到var sex = '${student.sex}'if(value == sex){$(this).checked(true)}})/**多选框的回显因为在后端中我们将hobby用逗号隔开,因此此时需要根据逗号将爱好分割开*//**1、要取到域对象中的hobby字段,把每一个爱好的值分割*/var hobby = '${student.hobby}'//切割 split()根据传递的参数进行字符串的分割,分割成一个数组var hobbies = hobby.split(",");for(var i = 0;i < hobbies.length;i++){$([name = 'hobby']).each(function (){//取出对应多选框标签的value的值var value = this.value;if(value==hobbies[i]){this.checked(true)}})}})</script><body><h1 align="center"> 学生编辑页面</h1><%--<input type="radio"> 单选框<input type="checkbox"> 多选框<input type="date"> 日期选择name 用于分组文本输入框的name属性将作为获取数据的key<input type="hidden" >隐藏域标签,客户端不可见,但真实存在--%><form action="http://localhost:8080/managerWeb/stu?flag=update" method="post"><input type="hidden" name="id" value="${student.id}"><table align="center"><tr><td>学生姓名:</td><td><input type="text" name="sname" value="${student.sname}"></td></tr><tr><td>学生年龄:</td><td><input type="text" name="age" value="${student.age}"></td></tr><tr><td>学生性别:</td><td>男:<input type="radio" name="sex" value="1">女:<input type="radio" name="sex" value="2"></td></tr><tr><td>学生住址:</td><td><input type="text" name="address" value="${student.address}"></td></tr><tr><td>生日:</td><td><input type="date" name="birthday" value="${student.birthday}"></td></tr><tr><td>爱好:</td><td>下棋:<input type="checkbox" name="hobby" value="下棋">舞剑:<input type="checkbox" name="hobby" value="舞剑">论道:<input type="checkbox" name="hobby" value="论道">布阵:<input type="checkbox" name="hobby" value="布阵">弄枪:<input type="checkbox" name="hobby" value="弄枪"></td></tr><tr align="center"><td colspan="10"><input type="submit" value="编辑" ></td></tr></table></form></body></html>
JavaScript是运行在浏览器端的脚本语言,是一门编程语言,弱类型语言,即所有的数据类型都使用一个关键字var去接收
jquery是一种前端的框架
<%—引入jquery框架—%>
//相对路径<script src="../jquery/jquery-1.7.2.js"></script>scr 用以引入js文件../表示上级目录./表示当前目录//绝对路径//在jsp开头写个绝对路径<%String path = request.getContextPath();%>//使用绝对路径<script src="<%=path%>/jquery/jquery-1.7.2.js"></script>
html中可以直接写js的语法
js的语法都写在
<script></script>
标签中
var 表示变量接收的类型,可以接收任意数据类型(et 与var功能相同)
js中定义方法要使用function关键字,无返回值类型
格式:function +方法名称
所定义的方法可以在script标签内部中通过标签内的属性调用;也可以在<script>中;若是要在<script>标签之外某些标签的内部进行调用,就需要绑定事件,这种绑定是静态绑定。
如下图
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>JavaScript</title><script>function getMethod(){}function getMethod1(){}</script><body><%--给当前按钮绑定事件--%><%--onclick 鼠标单击事件的属性--%><input type="button" value="ceshi" onclick="getMethod()"></body></html>
通过js获得标签对应的文本值:
用document的方法
如document.getElementById() 这里是Element,因为id是唯一的
document.getElementsByName()这里是Elements,因为name可以有多个。
<input type="text" name="name" id="name"> //文本框var el1 = document.getElementById('name') //此时获取的是文本框的input属性var el1 = document.getElementById('name').value //此时获取的是标签对象的文本值,即从文本框输入提交的值。
jquery底层对js的所有属性都进行了封装
使用jquery:
//原生js获取标签以及标签对应的文本值var el1 = document.getElementById(`name`).value;//通过jQuery框架获取//jQuery核心对象 $//# 是id属性选择符,#name 选择id为name的标签var el2 = $("#name").val();//var el2 = $("#name").val();等价于var el1 = document.getElementById('name').value;
单选框中加入checked属性,checked为true表示默认选中。
