通过Request.Form获取同name的checkbox所有值
转自:http://www.cnblogs.com/Fred_Xu/archive/2013/01/16/how-to-get-the-checkbox-value-from-a-dynamically-generated-checkbox-list-asp-net.html
前端页面需要有一个动态增加表格行的功能,引用了table.addrow.js这个jquery插件,每一行有一个checkbox,name统一为cbMaintainRatio,而鉴于这部分是一个纯Html Form的提交非用户控件,所以我们在后端使用Request.Form来获取值,但问题出来了:
<table border=" class="atable">
<tbody><tr class="evenRow">
<th>
width(px)
</th>
<th>
height(px)
</th>
<th>maintain ratio</th>
<th></th>
</tr>
<tr class="cloneRow9674 oddRow">
<td>
<input type=" name="imgwidth">
</td>
<td>
<input type=" name="imgheight">
</td>
<td>
<input type="checkbox" name="maintainratio">
</td>
<td class="btnCol">
<input type="button" value="Remove" class="delRow delRow9674" style="display: inline-block;">
</td>
</tr><tr class="cloneRow9674 evenRow">
<td>
<input type=" name="imgwidth">
</td>
<td>
<input type=" name="imgheight">
</td>
<td>
<input type="checkbox" name="maintainratio">
</td>
<td class="btnCol">
<input type="button" value="Remove" class="delRow delRow9674" style="display: inline-block;">
</td>
</tr><tr class="cloneRow9674 oddRow">
<td>
<input type=" name="imgwidth">
</td>
<td>
<input type=" name="imgheight">
</td>
<td>
<input type="checkbox" name="maintainratio">
</td>
<td class="btnCol">
<input type="button" value="Remove" class="delRow delRow9674" style="display: inline-block;">
</td>
</tr>
<tr class="evenRow">
<td colspan="><input type="button" value="Add" class="alternativeRow addRow9674"></td>
</tr>
</tbody></table>
如果我们有多行表单,也就是有多个name为cbMaintainRatio的checkbox,post到后端的form,我们通过Request.Form["cbMaintainRatio"]只能获取到一个值"on",而不是像<input type="text" name="width" />这种获取到的"100,200,"值。
浏览了一遍addrow插件的文档,他竟然不支持event,好吧...那只能我们自己来改造代码了:
页面增加一个hidden input,目的为保存多个checkbox的值,如果选中则设定为true,否则false,然后用,分割赋值给这个hidden input
function setMaintainRatio() {
var fields;
$("input[name='cbMaintainRatio']").each(function () {
var txt = $("input[name='cbMaintainRatioList']");
fields = ($("input[name='cbMaintainRatio']").map(function () {
if (this.checked)
return "1";
else
return "0";
}).get().join(","));
$(txt).val(fields);
});
}
提交Form的按钮绑定上面这个js 方法:
<asp:Button ID="btwImageCreate" runat="server" Text="Image Create" OnClick="btwImageCreate_Click" OnClientClick="setMaintainRatio(); return true" />
<input type="hidden" name="cbMaintainRatioList" />
OK,这样我们就可以在后台代码通过Request.Form的形式获取到每一行这个name="cbMaintainRatio" checkbox的值了!
全部和已选择比较
; i < Model[].Count; i++)
{
bool c = false;
; j < Model[].Count; j++)
{
][j].ButtonID == Model[][i].ButtonID)
{
c = true;
break;
}
}
if (c)
{
<div class="check-box">
<input name="btns" id="Model[0][i].ButtonID" checked="checked" class="input-text" type="checkbox" style="width: 100px" autocomplete="off" />
<lable>Model[][i].Name</lable>
</div>
}
else
{
<div class="check-box">
<input name="btns" id="Model[0][i].ButtonID" class="input-text" type="checkbox" style="width: 100px" autocomplete="off" />
<lable>Model[][i].Name</lable>
</div>
}
}
通过Request.Form获取同name的checkbox所有值的更多相关文章
- request.getParameterMap() 获取表单提交的键值对 并且 也能获取动态表单的key
Map<String,String[]> map = request.getParameterMap();Set<String> keys = map.keySet(); 获取 ...
- jquery获取复选框checkbox的值
jQuery API : each(callback) :以每一个匹配的元素作为上下文来执行一个函数. :checked :匹配所有选中的被选中元素(复选框.单选框等,不包括select中的optio ...
- Js获取复选框checkbox的值
var emps= $("input[name='emp']:checked"); var employee= ""; emps.each(function() ...
- Request.Form()的使用
在CS文件中获得对应页面中的下拉框DropDownList_sitebranch值可以有以下几种方法获得: siteInfo.FZJGID = DropDownList_sitebra ...
- ASP中 Request.Form中文乱码的解决方法
分享下解决方法直接用request.Form()获取的是所有数据所以会有乱码(具体原因不祥) 用 VBScript code Foreach obj in Request.Form Response. ...
- [转载]Request、Request.Form和Request.QueryString的区别
Request.Request.Form和Request.QueryString的区别 request本身是一个系统的静态对象,本身也可以作为数组调用,比如request("abc" ...
- Nancy获取Request.Form的所有参数
Nancy是一个轻量级的webapi框架,在用Nancy框架的时候,我们经常要获取到接口的所有动态参数值, 但是Nancy的Request.Form不能够直接转成NameValueCollection ...
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法
部分转载于: http://blog.csdn.net/georgejin/article/details/1706647 http://www.cnblogs.com/loveyunk/p/6089 ...
- 获取Request.Form所有内容
string wwww = ""; for (int i = 0; i < Request.Form.Count; i++) { ...
随机推荐
- java 注解 + 自定义注解的使用
java中元注解有四个: @Retention @Target @Document @Inherited: @Retention:注解的保留位置 @Retention(RetentionPolicy ...
- BlockingQueue使用
import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import ja ...
- [leetcode] 13. Roman to Integer
如果某一个字母代表的数字大于上一个字母代表的数字小,那么加上这个数字,否则,减去两倍的前一个数字,然后加上这一位数字. public class Solution { private static c ...
- python 线程之 threading(二)
在http://www.cnblogs.com/someoneHan/p/6204640.html 线程一中对threading线程的开启调用做了简单的介绍 1 在线程开始之后,线程开始独立的运行直到 ...
- 如何让win10实现关机确认-暂没确认
为了实现关机时有提示确认,防止不小心触碰后不提示就关机了.本人安装有360软件小助手,发生过此事多次. 1.网上找到 http://zhidao.baidu.com/link?url=dYB0fl2S ...
- 【原】iOS学习之UIApplication及其代理
1. 什么是UIApplication UIApplication 对象是应用程序的象征,不能手动创建,不能 alloc init,一个应用程序只允许 一个 . 每个应用都有自己的 UIApplica ...
- 洛谷 P1387 最大正方形 Label:奇怪的解法
题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m ...
- 运用ASP.NET实现
calation.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; /// ...
- java位操作总结
在计算机中所有数据都是以二进制的形式储存的. 位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快. 方便演示,首先写个二进制打印方法: private static void ...
- struts2自定义MVC框架
自定义MVC:(首先了解Model1和Model2的概念) Model1与Model2: Model1:就是一种纯jsp开发技术,将业务逻辑代码和视图渲染代码杂糅在一起. Model2:Model2是 ...