首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery禁用子节点

jQuery禁用子节点
EN

Stack Overflow用户
提问于 2012-01-04 22:29:02
回答 4查看 3.2K关注 0票数 3

每当单选按钮被设置为"No“选项时,我试图禁用web表单特定部分中的每个输入域(并在选择"Yes”时将其恢复,但无法正常工作。我目前有这个代码,用于“观察”单选按钮,并根据需要启用/禁用:

代码语言:javascript
运行
复制
jQuery("#ReportOn").change(function () {
    if(jQuery("#ReportOff").is(":checked")) {
        // Everything working up until here , but below command does nothing.
        jQuery("#reportform > input").attr("disabled", true);
    } else if(jQuery("#ReportOn").is(":checked")) {
        jQuery("#reportform > input").removeAttr("disabled");
    }
});

表单如下所示:

代码语言:javascript
运行
复制
<form method="post" action="post.php">
    <input type="radio" name="report" id="ReportOn" value="1" /><label for="ReportOn">Yes</label>
    <input type="radio" name="report" id="ReportOff" value="0" /><label for="ReportOff">No</label>
    <div id="reportform">
        <input type="text" name="title" id="ReportTitle" />
        <input type="text" name="subtitle" id="ReportSubtitle" />
    </div>
</form>

只要Reporting单选按钮设置为No,则应禁用表单的其余部分。

我在这里遗漏了什么,使它无法工作?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-04 22:36:50

尝试更改:

代码语言:javascript
运行
复制
jQuery("#reportform > input")

至:

代码语言:javascript
运行
复制
jQuery("#reportform input")
票数 1
EN

Stack Overflow用户

发布于 2012-01-04 22:47:45

对于同样的任务,这里有另一个解决方案;

代码语言:javascript
运行
复制
$('input[name="report"]').change(function(){
    var disabled = ($(this).val() !== "1");
    $('#reportform input').attr("disabled", disabled); 
});
票数 2
EN

Stack Overflow用户

发布于 2012-01-04 22:38:56

也许你遇到了一些错误,比如两个具有相同id的表单?因为它对我很有效,看看这个:http://jsfiddle.net/JqqGb/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8728474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档