- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,作为一名服务器开发人员,在客户端呈现的 ASP.NET 页面(基于母版页)上的 Javascript 巫术对我来说似乎有点太多了:-)
我决定尝试使用 jQuery 来处理一些客户端的 UI 元素启用和禁用。
我有两个单选按钮( rbnDoLimit
和 rbnDontLimit
)和三个复选框( months12
、 months24
、 months36
) - 如果我单击 rbnDoLimit
,如果我单击 rbnDontLimit
,我想启用所有三个。 ,我喜欢清除并禁用这三个复选框。看起来很简单,对吧?
所以我下载了 jQuery 1.3.2 并将其包含在我的 ASP.NET 3.5 Webform 中 - 工作正常,我可以在 $(document).ready 事件上显示“警报”。
我的两个单选按钮在页面中呈现为:
<input id="ctl01_cphContent_pnlBasicInfo_rbnDontLimit"
type="radio" name="ctl01$cphContent$pnlBasicInfo$LimitMVD"
value="False" checked="checked" />
<input id="ctl01_cphContent_pnlBasicInfo_rbnDoLimit"
type="radio" name="ctl01$cphContent$pnlBasicInfo$LimitMVD"
value="True" />
我的三个复选框为:
<span class="dcDetails"><input id="ctl01_cphContent_pnlBasicInfo_months12"
type="checkbox" name="ctl01$cphContent$pnlBasicInfo$months12" /></span>
<span class="dcDetails"><input id="ctl01_cphContent_pnlBasicInfo_months24"
type="checkbox" name="ctl01$cphContent$pnlBasicInfo$months24" /></span>
<span class="dcDetails"><input id="ctl01_cphContent_pnlBasicInfo_months36"
type="checkbox" name="ctl01$cphContent$pnlBasicInfo$months36" /></span>
我用 CSS 类 dcDetails
来装饰它们(它不存在 - 但旨在用于在 jQuery 中选择它们)。我注意到的第一件事是 CSS 类没有应用于我的 <input>
元素如预期,但到 <span>
<input>
周围的元素……(对我来说第一个谜……)。无论如何......
我的第一次 jQuery 尝试如下所示:
<script type="text/javascript">
$(document).ready(
$("#<%= rbnDontLimit.ClientID %>").click(function() {
$(".dcDetails").attr('disabled','false');
},
$("#<%= rbnDoLimit.ClientID %>").click(function() {
$(".dcDetails").attr('disabled','true');
});
</script>
不走运 - 我可以随意单击两个单选按钮 - 什么也没有发生。我认为这是因为 dcDetails
CSS 类位于 <span>
复选框周围,对吗?
好吧 - 所以它变得有点困惑,但这应该有效!现在我专门选择了三个复选框,按ClientID
- 我认为这应该是准确的并获得正确的元素:
<script type="text/javascript">
$(document).ready(
$("#<%= rbnDontLimit.ClientID %>").click(function() {
$("#<%= months12.ClientID %>").attr('disabled','false');
$("#<%= months24.ClientID %>").attr('disabled','false');
$("#<%= months36.ClientID %>").attr('disabled','false');
},
$("#<%= rbnDoLimit.ClientID %>").click(function() {
$("#<%= months12.ClientID %>").attr('disabled','true');
$("#<%= months24.ClientID %>").attr('disabled','true');
$("#<%= months36.ClientID %>").attr('disabled','true');
});
</script>
再次,没有运气......
那么我到底错过了什么?所有这些很棒的时髦演示似乎都无法帮助我理解为什么这不起作用 - 甚至一点也不......我想我错过了一些非常基本的东西 - 但我似乎无法弄清楚出来,那是什么! :-)
马克
更新:
还没有太多运气:-(我把我的样本剥离到一个准系统的 HTML 页面 - 但无论我尝试哪种不同的技巧,我总是一遍又一遍地遇到这个错误:
网页错误详细信息
消息:对象不支持此属性或方法专线:3032字符:6代码:0URI:文件:///D:/projects/JQuery1/jquery-1.3.2.js
几乎似乎是 jQuery 内部的一个错误......有什么想法吗?
更新2:
我开始认为我在这里做了一些根本错误的事情......我假设在 document.ready() 函数中,我可以连接两个单选按钮上的单击事件。我在这里错过了什么吗?我是否需要创建一个从单选按钮的客户端“单击”事件调用的函数?无论我想做什么,即使在我的 HTML 编辑器 (TopStyle 4) 中 - 这个错误“对象不支持此属性或方法”一直弹出 - 方便地都不告诉我哪个它引用的对象,也不告诉我不支持哪些属性或方法......
或者我在尝试连接 document.ready() 中的两个单击事件处理函数时做错了什么?
缩小后的纯 HTML 版本可在 http://jquery.bluenose.ch/jquerydemo.html 获取。对于任何可能感兴趣的人 - 我希望能够单击“Do Limit”单选按钮并让它禁用其下面的三个复选框 - 不行:-(
最佳答案
我查看了您的示例,发现存在一些语法问题。
你的例子:
$(document).ready(
$('#rbnDontLimit').click(function() {
$(".dcDetails :input").removeAttr('disabled');
}),
$("#rbnDoLimit").click(function() {
$('.dcDetails :input').attr('disabled', 'true');
}));
您错过了ready后面的“function (){”及其末尾相应的“}”。单击事件之间的逗号应该是分号。从 jQuery 选择器中删除“:input”。这应该适合你:
$(document).ready(function() {
$('#rbnDontLimit').click(function() {
$(".dcDetails").removeAttr('disabled');
});
$("#rbnDoLimit").click(function() {
$('.dcDetails').attr('disabled', true);
});
});
关于asp.net - jQuery 与 ASP.NET WebForms,适合贫穷的旧服务器开发人员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1306951/
是否有用于手动测试的代码覆盖工具?比如我新写了30行代码,编译,然后运行,有什么办法可以快速验证这30行都运行了吗? 另外,后来,在我将代码 checkin 正式版本后,有什么方法可以验证测试部门在进
老实说,这是一个家庭作业问题,但我已经浪费了好几个小时,而且无法正确解决。它返回错误数量的结果或错误的数据: 我需要选择参与指导电影和/或在电影中表演的每个人以及他们所做的次数,如果至少 5 次。 有
我正在尝试测试 MacOS 的应用内购买。输入测试用户凭据后,App Store 提示:“当前收据无效或 ds 人员 ID 不匹配。”并且购买失败。 最佳答案 我尝试了很多方法来解决这个问题。 Get
我正在为 Jenkins 使用 ActiveDirectory 插件,因此用户必须使用他们的凭据登录到 Jenkins。然后用户在 Jenkins 中被称为 joe.doe,这很完美。 当同一个人 c
如何从 Infopath 人员/组选取器检索电子邮件地址?当我将人员/组选取器添加到 infopath 表单时,我只得到 3 个字段 DisplayName、AccountId、AccountType
在 Snow Leopard 中,可以在 iCal 事件中显示空闲/忙碌时间。我搜索了 CalStore.framework 的 header ,但找不到任何描述该字段的属性。如何检索日历事件的忙/闲
是否有人成功地从专门针对 SharePoint 2013 的新建或编辑表单中获取用户(个人或组)字段的值? 我已经尝试了通过搜索互联网找到的所有解决方案以及我自己能想到的所有解决方案,所有结果都为空白
所以我需要将一个 Twitter 帐户添加到 ABRecordRef 中。然而,最快的方法似乎是获取社交资料属性的多值引用,创建它的可变版本,查找它是否有 Twitter 条目,如果已经有,则创建
我正在尝试将使用 Tomcat(最初是 5.5,但可以与 7 一起使用)在 MyEclipse 中开发的应用程序部署到我们的演示服务器 (Sun Java Web Server 7)。不幸的是,所有设
我是一名优秀的程序员,十分优秀!