开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 12 天,点击查看活动详情
1)js中的双目运算式:
let radio = json.data.gender == 0 ? $("#gender-female") : $("#gender-male");
如果从后端传来的数据gender等于0,则选中gender-female按钮。
jQ选择器:$("#lastname"),选中id="lastname" 的元素。
2)jQ实现按钮的勾选和取消:
radio.prop("checked", "checked");
jQ中改变元素属性的方法有两种:attr()与prop(),如果要改变checked、selected的状态,需要使用prop()。
3)获取与改变某元素的值:
$("#username").val(json.data.username);
$("#username").val();
val()内传入数据时会修改所选中元素的value值,无参时获取所选中元素的值。
4)给元素添加子元素
$("#province-list").append(option);
jQ使用id选择器选中某个元素,使用append函数向元素标签内添加一些内容。
5)jQ事件-change()方法
change方法用来监听元素的值是否发生改变,这种事件只适合textfield、texxtarea和select元素,其中textFile或者textarea会在元素失去焦点时触发,而select元素会在其内的选项发生改变时触发,常用的语法格式是:$(selector).change(function)。
6)使用正则匹配来替换文本内容
let address = '<tr>'
+ '<td>#{tag}</td>'
+ '<td>#{name}</td>'
+ '<td>#{province}#{city}#{area}#{address}</td>'
+ '<td>#{phone}</td>'
+ '<td><a class="btn btn-xs btn-info"><span class="fa fa-edit"></span> 修改</a></td>'
+ '<td><a class="btn btn-xs add-del btn-info"><span class="fa fa-trash-o"></span> 删除</a></td>'
+ '<td><a class="btn btn-xs add-def btn-default">设为默认</a></td>'
+ '</tr>';
address = address.replace(/#{aid}/g, list[i].aid);
address = address.replace(/#{tag}/g, list[i].tag);
address = address.replace("#{name}", list[i].name);
address = address.replace("#{province}", list[i].provinceName);
address = address.replace("#{city}", list[i].cityName);
address = address.replace("#{area}", list[i].areaName);
address = address.replace("#{address}", list[i].address);
address = address.replace("#{phone}", list[i].phone);
$("#address-list").append(address);
在写前端默认展示地址时,需要将从后端拿到的地址数组遍历出来,一个一个放到一个string字符串中。可以使用正则来匹配需要替换的数据,另外,如果需要将第一条数据的“设为默认”按钮隐藏,可以使用类选择器选中第一个地址,调用hide方法:
$(".add-def:eq(0)").hide();
对于删除和修改这种表单种每条数据都有的按钮,建议给他绑定上数据的id值,作为触发事件的参数,完成删除/修改某条数据的操作。
<td><a onclick="setDefault(#{aid})" class="btn btn-xs add-def btn-default">设为默认</a></td>
7)$.ajax函数中的data格式
- data:$("#form表单id属性值").serialize() 适用于参数较多,并且在同一个表单中。
- data:new FormData($("##form表单id属性值")[0]) 适用于上传文件。
- data: "pid=10000005&amount=3" 参数拼接形式提交。
- data: { "pid": 10000005, "amount": 3 } 使用json数据格式提交数据。