以后我会陆续的写出这段时间中学习到的东西,与大家一起分享。这篇文章也算是工作中的一个笔记吧,希望给遇到同样问题的朋友,一点小小的帮助。
在 开发工作中,因为要做用到CheckBoxList在客户端用js操作,无论js怎样调试,就是无法获取value的值,很是郁闷,后来Google了下,去了趟CodeProject,算是幸运的。我们在网页上放置一下代码:
复制代码 代码如下:
<asp:CheckBoxList runat="server" ID="chkDemo" RepeatDirection="Horizontal" RepeatLayout="Flow"> <asp:ListItem Text="测试A" Value="A"></asp:ListItem>
<asp:ListItem Text="测试B" Value="B"></asp:ListItem>
<asp:ListItem Text="测试C" Value="C"></asp:ListItem>
<asp:ListItem Text="测试D" Value="D"></asp:ListItem>
<asp:ListItem Text="测试E" Value="E"></asp:ListItem>
</asp:CheckBoxList>
当浏览器呈现这段代码后,我们再看看是什么样的Html脚本:
<table id="chkDemo" border="0">
<tr><td><input id="chkDemo_0" type="checkbox" name="chkDemo$0" /><label for="chkDemo_0">测试A</label></td>
<td><input id="chkDemo_1" type="checkbox" name="chkDemo$1" /><label for="chkDemo_1">测试B</label></td>
<td><input id="chkDemo_2" type="checkbox" name="chkDemo$2" /><label for="chkDemo_2">测试C</label></td>
<td><input id="chkDemo_3" type="checkbox" name="chkDemo$3" /><label for="chkDemo_3">测试D</label></td>
<td><input id="chkDemo_4" type="checkbox" name="chkDemo$4" /><label for="chkDemo_4">测试E</label></td> </tr></table>
这段Html脚本会因为RepeatLayout的设置有所差异,但是都有一个共同点,就是 生成的CheckBox没有value属性,
所以在客户端用js是没办法获取值的
为了解决这个问题,我们需要扩展一下CheckBoxList:这是我在CodeProject上找到的源码,时间久了,链接就不贴了吧。
复制代码 代码如下:
[ToolboxData("<{0}:CheckBoxListEx runat=\"server\"></{0}:CheckBoxListEx>")]
public class CheckBoxListEx : CheckBoxList,IRepeatInfoUser
{
void IRepeatInfoUser.RenderItem(ListItemType itemType, int repeatIndex, RepeatInfo repeatInfo, HtmlTextWriter writer)
{
string clientID = UniqueID + this.ClientIDSeparator + repeatIndex.ToString(NumberFormatInfo.InvariantInfo); //var
writer.WriteBeginTag("input");
writer.WriteAttribute("type", "checkbox");
writer.WriteAttribute("name", UniqueID + this.IdSeparator + repeatIndex.ToString(NumberFormatInfo.InvariantInfo));
writer.WriteAttribute("id", clientID);
writer.WriteAttribute("value", Items[repeatIndex].Value);
if (Items[repeatIndex].Selected)
writer.WriteAttribute("checked", "checked");
System.Web.UI.AttributeCollection attrs = Items[repeatIndex].Attributes;
foreach (string key in attrs.Keys)
{
writer.WriteAttribute(key, attrs[key]);
}
writer.Write("/>");
writer.Write("<label for='" + clientID + "'>");
writer.Write(Items[repeatIndex].Text);
writer.Write("</label>");
}
上边的这段代码是我经过修改的,与原著中有些差别:clientID的生成以及Checked属性的添加等,我想这段代码不需要再详细的讲解了吧。
把它编译成单独的类,在Toolbox上会自动出现,像使用那个正常的CheckBoxList一样,拖动到页面就可以了。
在客户端,我们js取值大致如下:
复制代码 代码如下:
<script>
function getDemoValue()
{ var els = document.getElementById("chkDemo"); var vals= ''; if (els != null) { var chks = els.getElementsByTagName("input"); for (var k = 0, len = chks.length; k < len; k++) { var chk = chks[k]; if (chk != null && chk.type == 'checkbox' && chk.checked) { vals+= ',' + chk.value; } } }
if(vals.length>1)
vals = vals.substring(1);
return vals;
}
</script>
结束
相关推荐:
AI软件不用登录,让你的工作更高效轻松,智能ai写作改稿怎么改
seo要寻找什么资源,怎么找seo ,ai插画描边
SEO运营工作是什么,seo公司运营 ,720516AI
ChatGPT您的应用遇到问题,无法正常启动?如何解决并重新体验智能助手的魅力!,男头ai关键词
URL泄露:如何防止信息泄露带来的严重后果,抖音推广营销服务多少钱
AI提炼主要内容:如何让信息更精准、高效、易懂,女军人ai
SEO精通:让你的内容在搜索引擎中脱颖而出,跨境电商 推广营销
SEO那么重要,企业如何通过它脱颖而出?,自媒体推广营销的概念
SEO和品牌营销:如何通过搜索引擎优化打造品牌影响力,建邺seo软件
今时CMS:引领数字化转型的智慧之选,河南seo优化网站联系方式
ChatGPT当前不可用?背后的原因与解决方案全解析,ai propos
SEO优化:提升网站流量的终极指南,揭阳网站快速推广
人工润色:让文字更具魅力的秘密武器,快排seo软件哪个最好
文章去AI回归创作的本真之美
文章AI生成:让创作变得更简单、更高效!
AI免费写作一键生成,效率与创意的完美结合
SEO优:让网站流量和排名实现飞跃的秘诀,大理哪有企业网站建设
SEO关键词的选择步骤:让你的网站在搜索引擎中脱颖而出,ai书法化
seo需要学会什么编程,seo要会些什么 ,剪映怎样加ai
SEO自行:提升网站流量的秘密武器,邹平县个人网站建设建议
seo逻辑是什么,seo思路 ,语音主播怎么ai写作业
为什么行业都要做seo,为什么要做seo ,ai明信片
怎么用AI生成一篇文章?高效创作指南全揭秘!
SEO站内优化:提升网站排名的核心策略,厦门市网站优化企业
为什么seo对企业重要,seo对企业进行网络营销的价值 ,ai李沁换脸鲍鱼
seo词库优化,搜索词条优化 ,ai点选择
文字写作AI生成工具:让创作更简单、更高效
AI人工智能:开发与应用的必备软件推荐
SEO教你如何快速提升网站排名,打破竞争壁垒!,本溪seo优化排名公司
SEO动态:2025年SEO趋势与优化技巧解析,十堰外贸网站推广费用
SEO目的:如何通过精准优化提高网站流量与转化率,百度推广网站关键词
“更加通顺”-让生活与工作无缝衔接的语言魅力,SEO书架书桌收纳
ChatGPT不能用了?了解这一背后的真相及解决方法,ai恐怖头像
软件AI:颠覆未来的智能革命
什么是SEO金融,seo是做什么的 ,ai中转程序
ChatGPT坏了用什么?替代方案,满足你的智能对话需求,星际一的ai
SEO需要什么语音,seo需要考虑什么 ,学生作业ai
为什么做seo矩阵项目,为什么做seo矩阵项目不能做 ,怎么用ai写作
怎么用AI写出高质量科普文章?揭秘新时代创作利器!
ChatGPT中显示已进行一处编辑,但看不到内容?你需要了解的隐藏问题!,ai敲
seo需要学些什么内容,学seo的基础 ,中国ai公司年收入
ChatGPT怎么打开不了?全方位解决方案!,大庆ai
互联网快排:助力企业网站流量爆发的秘密武器,西安网站建设找资源公司
SEO元素-提升网站排名的核心要素,推广分成网站有哪些
ChatGPT恢复正常使用时间,提升你的工作与生活效率,联想电脑AI0510
OpenAI智能诊断医疗-开启精准医疗新纪元,跟侯维静学ai
SEO中权重是什么意思?让你迅速网站排名的核心秘密!,长颈鹿智能AI点读机
“洗稿技巧如何让你的文章脱颖而出,轻松提升内容创作水平!”,台州椒江seo企业排名
AI免费生成:释放创造力的秘密武器
SEO优化是做什么的?让你的网站流量飙升的秘密武器,乳腺癌ai作用机理