posts - 9,  comments - 75,  trackbacks - 0

JQuery是一个非常强大的JavaScript Framework,用它可以更方便的查找,操作html元素。尤其是提供了ready事件,从此不再为body的onload事件而郁闷不已。现在介绍一下用法:

MultiSelect : function(container, header, item, target)
当点击checkbox时调用这个方法,其中参数
container:容器的ID,如果使用母版页请用ClientID
header:HeaderTemplate中全选checkbox的ID
item:ItemTemplate中的checkbox,包括id(checkbox的ID),key(关键字属性,一般使用checkbox的title属性),type(关键字类型,设置number表示数字,否则表示字符)
target:存放所选checkbox的控件,一般使用HiddenField

Refresh : function(container, header, item, target)

分页时刷新checkbox的选择状态,参数同上

示例如下:

$(
        
function()
        
{
            $().Refresh(
"GridView1""Header"{id: "Item", key: "title", type: ""}"ID");
            
            $(
"input[@type='checkbox']").click(
                
function()
                
{
                    $(
this).MultiSelect("GridView1""Header"{id: "Item", key: "title", type: ""}"ID");
                }
);
        }
);

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="CategoryID"
                DataSourceID
="SqlDataSource1" AllowPaging="True" PageSize="5">
                
<Columns>
                    
<asp:TemplateField>
                        
<HeaderTemplate>
                            
<input id="Header" type="checkbox" title="全选" />
                        
</HeaderTemplate>
                        
<ItemTemplate>
                            
<input id="Item" type="checkbox" title="<%# Eval("CategoryID") %>" />
                        
</ItemTemplate>
                    
</asp:TemplateField>
                    
<asp:BoundField DataField="CategoryID" HeaderText="CategoryID" InsertVisible="False"
                        ReadOnly
="True" SortExpression="CategoryID" />
                    
<asp:BoundField DataField="CategoryName" HeaderText="CategoryName" SortExpression="CategoryName" />
                    
<asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description" />
                
</Columns>
            
</asp:GridView>
<asp:HiddenField ID="ID" runat="server" />


/Files/Zane/MultiSelect.rar

posted on 2007-06-12 17:32 Spring.Cheung 阅读(2930) 评论(10)  编辑 收藏 网摘

FeedBack:
#1楼 [楼主]
2007-06-12 17:42 | 西门子乌      
需要SqlServer2K默认的Northwind数据库和WebProject支持,如果没有WebProject移植到WebSite下也能使用。
  回复  引用  查看    
2007-06-13 11:20 | koy [未注册用户]
强人,,支持下!
  回复  引用    
2007-06-14 07:48 | luna [未注册用户]
高手,美文。顶
  回复  引用    
2007-06-26 12:15 | 琢 [未注册用户]
师傅帅 有时间一定研究 先顶起来
  回复  引用    
2007-09-04 10:28 | 高海东      
楼主 ,这个功能非常不错,我的js很烂,我用您的这个现在出现一个问题就是,我在girdview中选择了几个复选框后,点击服务器的按钮提交后,页面肯定回刷了,这样的话就把页面中grdiview的复选框全都选择了上了
  回复  引用  查看    
#6楼 [楼主]
2007-09-04 15:08 | Spring.Cheung      
@高海东
提交后,this.ID.Value = "";
客户端提及的ID均为Hidden的ID,如果使用母版页请用<%= this.ID.ClientID %>
  回复  引用  查看    
2007-09-04 16:16 | 高海东      
楼主您好,按照您说的可以做到不全选了,但是还存在一个问题就是没有状态保存了,也就是没有记住我上次选择过的是那个,最好可以把我上次选择的那些可以记住,不知道可以做到吗 谢谢
  回复  引用  查看    
#8楼 [楼主]
2007-09-05 09:26 | Spring.Cheung      
@高海东
提交后,
去掉this.ID.Value = ""; 这一句
  回复  引用  查看    
2007-09-05 09:51 | 高海东      
楼主您好,您可以发个具体的这个用法吗,不太明白您说的
  回复  引用  查看    
2007-09-05 09:59 | 高海东      
楼主您好,您可能还没有明白我说的现象,是这么个现象 ,比如我有十行数据,我选择了5行,当我操作完成提交后肯定PostBack,这时如果按照您说的加上this.ID.Value = ""; 就会一个都不会选中,也就没有记住我刚才选择了那几条,但是如果去掉this.ID.Value = ""; 就会出现把我的十条全部选中的现象,而不是选中我的那个5行了
  回复  引用  查看    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接:
 
姓名: 张春鹏
职业: .Net架构师
毕业于: 南京工业大学
目前居住于: 中国北京

版权声明:
本Blog内的所有文章如非特别注明,版权均归作者个人所有,任何外部引用或摘抄请注明原文地址,未经作者授权不得用于任何以营利目的的行为,谢谢合作!

<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

与我联系

搜索

 

常用链接

留言簿(2)

我的标签

随笔档案

积分与排名

  • 积分 - 21310
  • 排名 - 2121

最新评论

阅读排行榜

评论排行榜