首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于根据另一复选框禁用一组复选框

关于根据另一复选框禁用一组复选框
EN

Stack Overflow用户
提问于 2011-10-05 08:27:46
回答 2查看 65关注 0票数 1

这里的第一个帖子,我将尽量简单:我需要创建一个表单,其中医学会议的参与者注册到课程,每个课程持续3个小时,所以想要从上午10点开始上课的人不能注册到上午11点,中午12点和下午1点的课程,但他可以注册到下午2点等等。

每小时有3节不同的课。

我想用javascript来做这件事,但是我完全迷失了方向。

你能给我一点提示吗?

谢谢!!

EN

回答 2

Stack Overflow用户

发布于 2011-10-05 08:37:27

最快、最简单的方法是设置一个javascript函数来运行禁用或启用其他复选框的onChange。你会做类似这样的事情

代码语言:javascript
运行
复制
 <input type="checkbox" onChange="enableDisable(11)" name="11" id="whatever">

你的javascript的伪代码是:

代码语言:javascript
运行
复制
 //Declare function
 //Check the current id and get the next 3 IDs
 //Check the status of the currentid to find out if you checked or unchecked it
 //if you checked it, disable the next 3 ids
 //if you unchecked it, enable the next 3, dependant on whether any of the previous 3 values are checked

最后一步会有点痛苦,但这是我如何处理它的基本方法

票数 0
EN

Stack Overflow用户

发布于 2011-10-05 09:01:15

在你的问题要求中,你忽略了一些重要的点。当用户在上午10点打勾注册类时,他们无法同时注册两组类:

  • 组1: 11 8am 12 8am 1 1pm
  • 组2: 9 8am 8 8am 7 8am

正如你所说的,你使用javascrip几乎是“空的”,我写这些代码只是为了概念上的目的。

你需要做的第一件事是下载jquery.js文件(你可以用谷歌在任何地方找到它),然后把这个文件和你的register.php文件放在同一个目录下。

代码如下:

代码语言:javascript
运行
复制
<input type="checkbox" value="10" name="convention_time"> 10 am<br>
<input type="checkbox" value="11" name="convention_time"> 11 am<br>
<input type="checkbox" value="12" name="convention_time"> 12 am<br>
<input type="checkbox" value="13" name="convention_time"> 1 pm<br>
<input type="checkbox" value="14" name="convention_time"> 2 pm<br>
<input type="checkbox" value="15" name="convention_time"> 3 pm<br>

<script>
$(function(){
    $('[name="convention_time"]').live('click',function(){
        var A=$(this);
        var method2call = A.is(':checked')?'attr':'removeAttr'
        var selector = '[name="convention_time"]:lt(3)'
        A.nextAll(selector).add( A.prevAll(selector) )[method2call]('disabled','disabled').attr('checked',false)
    })
})
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7655506

复制
相关文章

相似问题

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