默认的html中的select标签默认的样式太一般了。discuz提供了一个自动将select转换成一个js的select函数。
原理是将select隐藏,在原位置生成一个标签,对应的,当点击时,显示对应生成的
形式的新列表。这个看起来就好看多啦。
方法原js:staticjscommon.js
方法名:function simulateSelect(selectId, widthvalue)
只需将当前的select的id放入该函数。如:simulateSelect(‘types’),就生成了。
显示和隐藏菜单的方法是:function showMenu(v)
隐藏菜单的方法是:function hideMenu(attr, mtype)
这两个方法主要通过JSMENU[‘active’] 进行关联(也就是说可以多个),在显示时,插入数据,在不显示时,再从集合中删除数据。
如何实现动态的显示这个菜单插件?
因为生成只要套方法,是很容易的。
但是动态生成时,得注意几个东西。
1.discuz中,该东西是以一次执行为前提的。即是,一个select只能执行一次,多次执行转换是不成功的。
2.注要问题是相关的id重复,导致相关的事件对象异常。
知道原因的问题,现在好处理啦。
只要在执行前将原对象抹杀,数据清除就ok了。
如有不懂。可以查看martoo.cn的发贴。
转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827