问两个问题 如图,GridView中列的数据是从数据库中读出来的,然后在CHECKBOX上面随意勾选,然后如何后在后台保存只改变过的项目的。我的想的是用JS给CHECKBOX一个Chang事件,每次改变后记录下那一列的流水号,然后根据流水号在后台更新相应列的数据、现在就是不知道怎么用JS获得流水号。不知道还有没其他简单可行的方法。希望大家指教,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 隐藏一个列,放个Input或其他控件,定义好ID,然后用DOM可以取出来! 你的置顶、回复、热点他们只是name不同<input type=checkbox name='istop' value=<%#Eval("id")%> />这样的,所以你根本不要担心不知道哪个被选中后台可以直接取哪些被选中string[] istop_id = Request.Form["istop"].Split(','); 这就是所有置顶被选中的id,其他两个也是这样 只是name不同 你可以使用XmlHttp的无刷新方式,在点击复选框时,即通过脚本直接向后台请求改变数据,从而实现即点即设.(前提是你必须为所有复选框设置客户端事件)示例代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""></HEAD><BODY><table> <tr> <td><input type=checkbox value="11" onclick="checkBoxClick(this);"></td> <td><input type=checkbox value="21" onclick="checkBoxClick(this);"></td> <td><input type=checkbox value="31" onclick="checkBoxClick(this);"></td> </tr> <tr> <td><input type=checkbox value="12" onclick="checkBoxClick(this);"></td> <td><input type=checkbox value="22" onclick="checkBoxClick(this);"></td> <td><input type=checkbox value="32" onclick="checkBoxClick(this);"></td> </tr> <tr> <td><input type=checkbox value="13" onclick="checkBoxClick(this);"></td> <td><input type=checkbox value="23" onclick="checkBoxClick(this);"></td> <td><input type=checkbox value="33" onclick="checkBoxClick(this);"></td> </tr></table></BODY></HTML><SCRIPT LANGUAGE="JavaScript"><!--function checkBoxClick(obj){ //取得该复选框对应记录的ID var cValue = obj.value; //判断本复选框是否被选中 var isCheck = 0; if(obj.checked == true) { isCheck = 1; } var url = "xxx.aspx?cValue=" + cValue + "&isCheck=" & isCheck; var a = XmlPost(url); if(a == "1") { alert("成功设置"); }}function XmlPost(url){ //自己写}//--></SCRIPT> 我的意思是我改变了哪一列,然后我就在数据库中更新那一列的数据 现在的问题是单击某一列的CHECKBOX(三个随便哪一个),如何通过JS获得那一列的流水号,因为GridView模板列里面控件ID是变的如“GridView1_ctl02_CheckBox1”这样的东西。 <td> <input type=checkbox value="11" onclick="checkBoxClick(this);"> </td> 注意,你不需要知道控件的ID.请仔细看上面的代码你可以在控件绑定之后,在后台逐一寻找每行每列的复选框,然后添加脚本事件checkBoxClick(this)(或直接把流水号写入,checkBoxClick(this,23)) 很简单吧,把数据读出来绑定后保存在全局变量中,修改后再保存的时候把GridView里的数据和全局变量中的数据比较一下就可以了,如果跟原来的值不一样,就保存 package event{ import flash.events.Event; import vo.KeiyakusakiVO; import com.adobe.cairngorm.control.CairngormEvent; import control.KeihoController; public class KeiyakusakiCheckEvent extends CairngormEvent { public var isAdd : Boolean; public var keiyakusaki : Object; function KeiyakusakiCheckEvent(_data:Object, _isAdd:Boolean) : void { isAdd = _isAdd; keiyakusaki = _data; super(KeihoController.EVENT_KEIYAKUSAKI_CHECK); } }} 麻烦各位帮忙看一下代码哪里有问题 lucene 做什么用的? 请教flash8+fcs(fms)实现在线视频/音频录制是怎么实现的。ffmpeg.exe又是什么? 在 sql server 2005 中配置aspnetdb 数据库 遇到问题 关于dropdownlist控件的数据调用问题??急~~~~~~~~`没分了.谢谢各位高手 DataSet或DataTable数据的组合 更新数据问题 一个非常奇怪的现象.求解! 高分求初学ASP.net的好书!! 脚本文件路径设置的问题 请教在winform中画图问题 FormView在EditItemTemplate里绑定系统日期后,不能插入日期
<input type=checkbox name='istop' value=<%#Eval("id")%> />
这样的,所以你根本不要担心不知道哪个被选中后台可以直接取哪些被选中string[] istop_id = Request.Form["istop"].Split(','); 这就是所有置顶被选中的id,其他两个也是这样 只是name不同
示例代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD><BODY>
<table>
<tr>
<td><input type=checkbox value="11" onclick="checkBoxClick(this);"></td>
<td><input type=checkbox value="21" onclick="checkBoxClick(this);"></td>
<td><input type=checkbox value="31" onclick="checkBoxClick(this);"></td>
</tr>
<tr>
<td><input type=checkbox value="12" onclick="checkBoxClick(this);"></td>
<td><input type=checkbox value="22" onclick="checkBoxClick(this);"></td>
<td><input type=checkbox value="32" onclick="checkBoxClick(this);"></td>
</tr>
<tr>
<td><input type=checkbox value="13" onclick="checkBoxClick(this);"></td>
<td><input type=checkbox value="23" onclick="checkBoxClick(this);"></td>
<td><input type=checkbox value="33" onclick="checkBoxClick(this);"></td>
</tr>
</table>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
<!--
function checkBoxClick(obj)
{
//取得该复选框对应记录的ID
var cValue = obj.value;
//判断本复选框是否被选中
var isCheck = 0;
if(obj.checked == true)
{
isCheck = 1;
} var url = "xxx.aspx?cValue=" + cValue + "&isCheck=" & isCheck;
var a = XmlPost(url); if(a == "1")
{
alert("成功设置");
}
}function XmlPost(url)
{
//自己写
}
//-->
</SCRIPT>
我的意思是我改变了哪一列,然后我就在数据库中更新那一列的数据
现在的问题是单击某一列的CHECKBOX(三个随便哪一个),如何通过JS获得那一列的流水号,因为GridView模板列里面控件ID是变的如“GridView1_ctl02_CheckBox1”这样的东西。
注意,你不需要知道控件的ID.请仔细看上面的代码
你可以在控件绑定之后,在后台逐一寻找每行每列的复选框,然后添加脚本事件checkBoxClick(this)(或直接把流水号写入,checkBoxClick(this,23))
{
import flash.events.Event;
import vo.KeiyakusakiVO;
import com.adobe.cairngorm.control.CairngormEvent;
import control.KeihoController;
public class KeiyakusakiCheckEvent extends CairngormEvent {
public var isAdd : Boolean;
public var keiyakusaki : Object;
function KeiyakusakiCheckEvent(_data:Object, _isAdd:Boolean) : void {
isAdd = _isAdd;
keiyakusaki = _data;
super(KeihoController.EVENT_KEIYAKUSAKI_CHECK);
}
}
}