页面实现全选和批量操作

全选的思路是:遍历标签下的type为checkbox的input标签,改变这些checkbox的check状态和点击全选的状态一样

批量操作的思路是:用js获取记录中的id用逗号拼接,传到后台执行批量操作的处理

 

全选js:

 

$("#checkAll").click(function() {
		var rows = $("#content").find('input');
		for (var i = 0; i < rows.length; i++) {
			if (rows[i].type == "checkbox") {
				var e = rows[i];
				e.checked = this.checked;
			}
		}
	});


批量操作:

 

html:

 

<input name="checkid" type="checkbox" id="checkid" value="'+id+'">


js:

 

 

//批量操作
	$("#save").click(function() {
		var checkid = document.getElementsByName("checkid");
		var str = "";
		for (var j = 0; j < checkid.length; j++) {
			if (checkid[j].checked == true) {
				str += checkid[j].value + ",";
			}
		}
		if(str == ""){
			JsUtils.show("请选择至少一条记录!");
			return false;
		}
		var flag = $("#command option:selected").val();
		if(flag == "-1"){
			JsUtils.show("请选择操作!");
			return false;
		}
		JsUtils.show("确定执行该操作?", guessList.save);
	});

 

//批量操作保存
		save : function() {
			var checkid = document.getElementsByName("checkid");
			var str = "";
			for (var j = 0; j < checkid.length; j++) {
				if (checkid[j].checked == true) {
					str += checkid[j].value + ",";
				}
			}
			var flag = $("#command option:selected").val();
			if (flag != "-1") {
				guessList.ajaxPost(flag, str);
			}
		},
		//批量操作
		ajaxPost : function(flag,ids) {
			$.ajax({
				type : "POST",
				async:true,
				url : ctx+"/rec/ges/batchUpdate",
				data : {
					"flag": flag,
					"ids": ids
				},
				dataType : "json",
				success : function(data, textStatus) {
					if (data.rtnCode == 0) {
						JsUtils.show("更新成功",function(){
							window.location.href = ctx+"/recommend/guess";
						});
					} else {
						JsUtils.show("操作失败,请重试!");
					}
				},
				error : function(XMLHttpRequest, textStatus, errorThrown) {
					JsUtils.show("系统忙,请稍后再试!");
				}
			});
		},

 

 

java后台处理:

 

@RequestMapping(value = "/ges/batchUpdate", method = RequestMethod.POST)
	@ResponseBody
	public Map<String, Object> batchUpdate(String flag, String ids)
			throws Exception
	{
		Map<String, Object> result = new HashMap<String, Object>();
		String[] idsArray = null;
		if (StringUtils.isNotEmpty(ids))
		{
			idsArray = ids.split(",");
			List<String> idList = Arrays.asList(idsArray);
			if ("0".equals(flag))
			{
				guessService.openRec(idList);
			}
			if ("1".equals(flag))
			{
				guessService.closeRec(idList);
			}
			if ("2".equals(flag))
			{
				guessService.delByIds(idList);
			}
		}
		result.put("rtnCode", 0);
		return result;
	}

 

 

mybatis配置:

 

<delete id="delByIds" parameterType="java.lang.String">
		DELETE FROM ges WHERE id IN 
		<foreach item="idItem" collection="list" open="(" separator="," close=")">
		#{idItem}
		</foreach>
	</delete>

Mapper:

 

 

void delByIds(List<String> ids);


 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Axure中,要实现复选框的批量全选功能,可以按照以下步骤进行操作: 1. 首先,需要在Axure的页面中创建一个复选框和一个“全选”按钮。可以使用Axure的“复选框”组件,在页面上放置一个复选框控件,并命名为“复选框1”。然后,在页面上放置一个按钮组件,并命名为“全选按钮”。 2. 当“全选按钮”被选中时,需要将所有的复选框都选中。为此,需要在“全选按钮”的交互事件中添加一个交互动作。选择“全选按钮”,在“交互”面板中,点击“添加事件”,选择“选中”→“选中状态”→“复选框1”。这样就可以实现当“全选按钮”被选中时,将“复选框1”设为选中状态。 3. 如果页面上有多个复选框(复选框2、复选框3等),希望当“全选按钮”被选中时,所有的复选框都被选中,可以按照上述步骤依次为每个复选框添加交互动作,将它们都设为选中状态。确保每个复选框在对应的交互事件中被选中。 4. 最后,在使用Axure的预览功能预览页面,当点击“全选按钮”时,可以看到所有的复选框都被选中,实现了复选框的批量全选功能。 通过以上步骤,可以在Axure中实现复选框的批量全选功能。这样在需要批量选中复选框的情况下,用户只需点击一次“全选按钮”,就可以快速实现全选功能,提高了交互效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值