Category: 编程、软件、技术

  • 【jQuery】示例4:三层的关联下拉框

    有了两层关联下拉框的经验,实现三层的关联下拉框确实很容易。

    当然,为了被前令狐同学再次BS我的算法BT,我首先改写了clearOptions函数:

    function clearOptions(selectID)
    {
        var sel=document.getElementById(selectID);
        var len=sel.length;
        var i;
        for(i=1;i<len;i++)
            sel.remove(1); // I keep on removing the 1st item in the select!
    }

    说明一下,我这样编程是有一定的道理的。虽然说,更“好”的代码应该似乎是每次都删除最后一个(类似:remove(sel.length))。但是,由于每次删除后,sel.length都会发生变化,所以在每次删除最后一个的时候,sel.length都会被重新取值,这个对于jQuery来说开销还是很大的,特别是如果select下的option比较多的时候。所以,我还是选择每次删除第一个的做法。这样,remove(1)中的参数是个常量,只需要取值一次从而大大的缩减了运行时间。

    同时我将addOptionfillLevel等多次调用的代码段抽出作为独立的函数。在fillLevel函数中,还特意混合了jQuery和标准javascript。

    这样一来,jQuery的ready函数写法就更清晰明了了。同时,为了温故知新,我还加入了在第二个例子中实现的“Loading”提示。目前的问题时,在填充level1的时候,不会出现这个提示,而只有在填充level2和level3的时候才出现这个提示。暂时不管这个小小的问题了。

    完整的示范在此处

    代码不再贴出,有兴趣的可以在页面自行下载研究。

  • 【jQuery】示例3:两层的关联下拉框

    今天终于完成了jQuery的一个确实有用的示例:两层的关联下拉框(2 Level Cascading Dropdown list)。示例见此处

    开始,我以为很简单。但是经过实战,还是有一些些小的技巧需要注意。

    JSON的返回值是一个问题。在这个示例中,由于我并不关注返回值的问题(这个问题将在示例4中进一步研究),所以我只是简单返回一个字符串的数组。

    (more…)

  • NetBeans IDE

    NetBeans出了个支持PHP的IDE,下载后试用了一下,感觉还不错。

    首先,它对JS的支持不错。很多PHP的IDE都不支持对JS的编写。

    其次,有数据库的支持。我的PHPED标准版不支持这个,要到专业版才行。

    缺点:

    代码提示系统还有一些bug;调试不是很直观。这些都有待研究。

  • 【jQuery】示例2:显示一个“Loading”提示

    今天完成了一个在进行耗时长久的操作时,为了不让用户感到无聊而显示一个“载入中,请稍安勿躁”之类提示的小例子。

    演示地址:此处

    ==============

    (more…)

  • Thunderbird+Lightning+Google Calendar

    这次重装Vista,我没有装Office 2003/2007。倒不是因为我买不起199元的Office 2007,而是这个版本中不包含Outlook。于是,我选择了安装OOO来代替Word/Excel/PowerPoint系列,安装Thunderbird替代了Outlook中的邮件功能。

    昨天,我又在Thunderbird中安装了一个Lightning插件,这样,我就有了一个基本的日历功能。由于Google Calendar是支持iCal标准的,所以只要在Thunderbird中加入一个iCal日历,我就可以在当地对Google Calendar进行只读操作了。

    (more…)

  • 【jQuery】示例1:动态改变文本样式和内容

    示范例子见:此处

    =========================

    经过一段时间和XAJAX的较劲,我发现了它的一些限制——当然,它还是一个很好的ajax框架:

    (more…)

  • 虚拟机下的一篇测试文章

    在Vista中装好了Ubuntu 8.10,顺便发篇文章测试一下。

    目前,声卡在虚拟机中还没有驱动,update时也出现了一些小问题。

    Pidgin极不稳定。

    有待进一步测试。

  • 收费模式

    最近由于重新装了Vista,所以有些软件要重新装:比如财智家庭理财软件。

    我买过它的产品,并且一直升级到我现在使用的5.x版本。今天去它的网站看了看,有了版本6,本来想升级的,但是发现一个小问题:6之后的版本的序列号不再是“永久”的了,而只能使用一定的时间,比如一年或者两年。

    这就让我很犹豫了:要不要升级呢?说老实话,我是决定不升了。因为目前的版本我也用的很好,还有很多功能我不怎么会用。干嘛要升级呢?

    一个收费模式的改变往往就改变了用户对软件购买(升级)的选择。所以,要慎重啊……

  • Windows系统的一个小插件

    老妖的站点中下载了一个比较好玩的插件:HashTab。安装后,任何文件的属性对话框中都会多出这么一个页面:

    从而可以方便的得到每个文件的各个重要的校验数值(如CRC32,MD5等)。不过,貌似这个插件是“即时”计算的,所以,对于比较大的文件,计算时间会比较长。当然,这类校验值本身也不是属于“日常”使用范畴,在确实需要的时候——例如你下载了一个巨大无比的文件时——测试一下,那么忍受一些计算时间还是可以的。

    下载地址:http://www.rsywx.net/download/HashTab.v2.0.8.ccrun.552191.rar.

  • Google Talk英文版

    GT的英文版中有一个可以共享你在听虾米音乐的功能。以前我一直、一直没有试出来——请8要怀疑我的RP。基本的设置我还是懂的。

    今天再次不死心,装了英文版本的GT,用最标准的WMP播放,结果还是可耻的没有显示我在听虾米音乐。我的郁闷不是一点两点……

    网上搜索了几把也不知所云。最后,卸载GT后用神奇的管理员身份安装,然后……一切就OK了。

    原来,是酱紫的:

    GT要支持这个功能,需要提供一个插件给WMP。只有当你以管理员身份安装时,才能注册这个动态链接库。只要注册了这个动态链接库成为WMP的一个插件,所有的问题都迎刃而解了。