其实现在想想两年是在是太快了,我至今还清楚的记得我当初来网站面试的场景,那是三楼走廊里排了几个人,他们有结队来的,在那愉悦的谈论着某些高中轶事,每从会议室走出来一个人,后面的同学都会关心的问有没有问到成绩,当时我还很纳闷,难道这也看成绩?进来这个学校的成绩能相差多少?

后来进网站,做着该做的专题,写着该写的代码,生活好像步入了云端,在别人眼里你开始变得高大上起来,然而,在网站做了些什么也只有自己知道。曾经很遗憾的想着自己是不是要提早的离开,因为这么长时间我从没做出一点什么成绩,当好长时间没有专题要做的时候才发现其实自己在这里很孤单,想离开的愿望愈演愈烈,也是在那个时候祥哥离站了。

当时我也叫嚷着离开,但最终没有。因为我的直觉告诉我,我在这时候的离开无疑等于逃避。

于是,开始自己安慰自己我还能做点东西,仿佛一位佝偻的老人临死前的挣扎般,内心的纠结有时会让自己感觉到力不从心。我开始尝试用代码来实现我曾经的想法,用一个一个的小项目来组合成我们的青春实验室。在我的脑海里,这种小项目有很多。曾经我对他们大一的分组任务时说过,我说要把实验室当做你们创业的平台,咱们就是一个小组,有什么想法大家一起完成。而今,不知道谁还能把建立青春实验室当做墓志铭来追求树立起一块碑。

青春实验室不是碑,而是牌。

我的第一个小项目从我去年发表的一篇日志开始,校园大数据。朝着让学生更方便的方向做山里啪啪。我想做成涵盖课表、成绩、校园卡余额、电量、作业以及交友的整合平台,可以分享与评论,以工具+社交的理念来做这样一款App,项目已经开始,而结果遥遥无期。地址:http://wx.youthol.cn

第二个小项目是完成的比较好的,一站式纳新系统。提供网上纳新平台,方便社团负责人以及新生了解纳新信息,网上提交表单,导出表格。目前,系统已经初步完善,当时需要做的工作还有很多,希望网站能够将这个平台利用起来,在理工大金星试点网上纳新。地址:http://123.youthol.cn

第三个小项目是自己一直想做的但一直没有实施的:校园众筹。尽管众筹这个概念离普通学生有点远,但这已经成为了解决一件事情最快捷方便的方法。举个例子,我想去揍一个人,于是我在网上发布:我要去揍谁啦,有人要一起去么,然后有人回应说我去,其他人回应我给你钱,然后,众筹完成后,我就用我筹到的钱匕首,带上要去的人,去揍人。结果,胜利完成任务。这只是一个不太好的比喻,但现实中,很多学生都有想法,只是找不到志同道合的人。

众筹可以分为两种,一种是筹人,一种是筹钱。筹人也就是拉人,比如某个社团要办活动会打条幅印单页,宣传这个活动,而这里就不一样了,你只要在这里发布,学生进来就会看到。或者是想做一个项目,找相关专业的人等等,可以实现的情形有很多。筹钱很简单,就是希望得到资金支持,不过学生又不是天使投资人,这方面会受限很多。

希望有人能继续下去这些小项目,填充上自己的想法,让青春实验室真正成为一个丰富的实验室。

最后,整合一下曾经做过的小东西。

传送门:http://123.youthol.cn/zt/old/

2014一起前进吧:http://youthol.cn/topic/2013/2013end/

今天在写一站式纳新系统的时候,需要用到全选与全部选的功能

一站式纳新系统123.youthol.cn

本来想通过jquery来写,这样可能会简单一些,大家可以看看下面的代码

$(function() {
    $("#checkall").click(function() {
        $("input[@name='checkname[]']").each(
            function() {
                $(this).attr("checked", true);
            });
        });
    $("#delcheckall").click(function() {
        $("input[@name='checkname[]']").each(
            function() {
                $(this).attr("checked", false);
            });
        });
});
<input type='checkbox' id='id1' name='checkname[]' value='1' />value1
<input type='checkbox' id='id2' name='checkname[]' value='2' />value2
<input type='checkbox' id='id3' name='checkname[]' value='3' />value3
<input type="button" id="checkall" name="checkall" value="全选" />
<input type="button" id="delcheckall" name="delcheckall" value="取消全选" /></pre>

或者更简单的写法:

$("#checkall").click(
    function(){
        if(this.checked){
            $("input[name='checkname']").attr('checked', true)
        }else{
            $("input[name='checkname']").attr('checked', false)
        }
    }
);

但是不可否认的是,这些字母依然很多

下面是js原生的

<script type="text/javascript"> 
/**
* 全选
* 
* items 复选框的name
*/
function allCkb(items){
    $('[name='+items+']:checkbox').attr("checked", true);
}

/**
* 全不选
* 
*/
function unAllCkb(){
    $('[type=checkbox]:checkbox').attr('checked', false);
}

/**
* 反选
* 
* items 复选框的name
*/
function inverseCkb(items){
    $('[name='+items+']:checkbox').each(function(){
    //此处用jq写法颇显啰嗦。体现不出JQ飘逸的感觉。
    //$(this).attr("checked",!$(this).attr("checked"));

    //直接使用js原生代码,简单实用
        this.checked=!this.checked;
    });
}
</script>

别看比较多,但把注释去掉真的不剩什么了。

把表单补充上,就可以了。

<input type='checkbox' name='ckb' value="0"/>白羊座
<input type='checkbox' name='ckb' value="1"/>狮子座
<input type='checkbox' name='ckb' value="2"/>水瓶座
<input type='checkbox' name='ckb' value="3"/>射手座<br/>
<input type="button" onclick="allCkb('ckb')" value="全 选"/>
<input type="button" onclick="unAllCkb()" value="全不选"/>
<input type="button" onclick="inverseCkb('ckb')" value="反 选"/></pre>