asp.net – 如何切换,或使用jQuery的文本框?
我正在尝试“单一来源”表单页面,可以处于编辑模式或查看模式.由于各种原因,这不是使用ASP.Net FormView或DetailsView控件.
由于没有办法禁用文本框而不将其内容变为灰色(好吧,我们可以“吃掉”所有键盘,但这也不是很优雅)并且禁用下拉列表或列表框不是我们的想要,我们的第一次尝试是使用标签复制所有表单输入控件,并使用CSS根据表单的模式选择哪些是可见的.这是有效的,但编辑很难看,代码隐藏每次都要填充两个控件. 我们可以控制代码隐藏中的可见性以避免填充两个控件,但我们仍然必须将它们都添加到窗体中. 所以我有想法使用jQuery替换< label>,< div>或< span>的输入控件.元素.这在某种程度上可以通过创建适当的选择器并使用replace()jQuery方法动态交换元素来实现. 问题是我不仅需要复制内容,还需要复制原始输入控件的样式,属性和大小(此时我们只讨论文本框 – 我们对下拉列表和列表框有不同的解决方案) . 暴力应该起作用 – “备份”输入控件的所有属性,创建新的“只读”元素,然后用新元素替换输入控件.我正在寻找的是更简单的东西. 简而言之,使用jQuery,用标签替换文本框的最佳方法是什么,并且标签具有相同的内容,并且与文本框的位置和样式相同? 这是我到目前为止: $(":text").each( function() { var oldClass = $(this).attr("class"); var oldId = $(this).attr("id"); var oldHeight = $(this).outerHeight(); var oldWidth = $(this).outerWidth(); var oldStyle = $(this).attr("style"); $(this).replaceWith("<div id='" + oldId + "'>" + $(this).val() + "</div>"); $("div#" + oldId).attr("class",oldClass); $("div#" + oldId).attr("style",oldStyle); $("div#" + oldId).width(oldWidth); $("div#" + oldId).height(oldHeight); $("div#" + oldId).css("display","inline-block"); }); 解决方法
这可能不适合您的需求,但这是可能的.
<输入>和< textarea>标签支持只读属性.只读字段的行为与禁用字段略有不同.这是HTML 4.01 Recommendation所说的:
另一个关键区别是具有此属性的元素可以根据您的喜好进行样式设置. (例如,您可以删除或更改边框和背景.)因此,您只需添加或删除只读属性,而无需创建新元素和复制属性. 然后,您可以为这些字段“input [readonly] {}”创建样式.当然注意到流行的IE版本会忽略CSS中的属性选择器. (所以也许只需定义一个你添加和删除的类.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET CAPTCHA实现
- asp.net – 返回搜索页面而不会丢失搜索条件
- asp.net-mvc – ASP.NET MVC:如何使用模型呈现不同的操作(
- asp.net-web-api – MVC5 – WebAPI 2 – 当Controller更改
- asp.net-mvc-3 – 获取行中的第一个和第二个td元素
- asp.net-mvc – 如何让Visual Studio 2012检测虚拟目录是否
- ASP.NET MVC和Web Forms在同一个Web应用程序中?
- 在UNC路径上安装ASP.NET应用程序,您认为这可能吗?
- asp.net-mvc-3 – ASP.NET MVC3从https重定向到http
- asp.net-mvc – 使用Asp.net Mvc缩略图
- ASP.NET – 如何在C#表上设置Cells-Width-Percen
- ASP.NET MVC模型绑定 – JSON属性和C#模型属性的
- 如何在asp.net和C#中实现登录会话
- asp.net – ACL究竟是什么意思? (共享点)
- asp.net-mvc – 如何使用ASP.NET MVC,WebAPI和ME
- asp.net – 您如何看待Postgres和Firebird数据库
- ASP.net MVC验证突出显示和不正确的字段Jquery上
- asp.net-mvc – Cookie中的ASP.NET MVC Store Te
- asp.net-mvc – 如何将可视化设计器集成到开发过
- asp.net-2.0 – 如何解决ASP.NET“?”应用程序路