这个还是因为我做的小东西,不得不去解决,不过最近可能是因为AJAX的影响,多数操作我最想考虑的是怎么使用Javascript解决,所以最近JS倒是经常用。 实例已经有了,看看365key的网摘修改页面,分类框里面最上面的是添加网摘的时候选择的分类,如果是按顺序的话,这些选项就不会被排在最上面了。 这样的操作应该是程序排序好再输出的,用程序做虽然没问题,但是会多消耗服务器资源,如果很多用户一起进行这种排序的话,别的不说数据库就挺吃力的,其实完全可以把排序的工作交给客户端Javascript去处理,速度上也不会出现问题,主要也是因为我觉得对于服务器资源能节省就节省点。 好了,原理是多项选择框里,把被标记为selected的选项和其他选项分别取出来放在不同的数组里,然后清空所有选项,接着把被标记为selected的选项插在选项组里,其他选项放在下面。 其实这个根本不能算是排序,只是想不到应该算什么,而且本文的部分想法来自CSDN:排序Select中Option项的一个示例,所以就在标题写上了排序。 代码如下:
javascript
{113 7643 <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="cl"><span class="kd">function</span> <span class="nx">sortTags</span><span class="p">(){</span>
</span></span><span class="line"><span class="cl"><span class="nx">tags</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"Tags"</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kd">var</span> <span class="nx">selectedArray</span> <span class="o">=</span> <span class="k">new</span> <span class="nb">Array</span><span class="p">();</span>
</span></span><span class="line"><span class="cl"><span class="kd">var</span> <span class="nx">optionArray</span> <span class="o">=</span> <span class="k">new</span> <span class="nb">Array</span><span class="p">();</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">index</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">index</span> <span class="o"><</span> <span class="nx">tags</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">index</span><span class="o">++</span><span class="p">){</span>
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="p">(</span><span class="nx">tags</span><span class="p">.</span><span class="nx">options</span><span class="p">[</span><span class="nx">index</span><span class="p">].</span><span class="nx">selected</span><span class="o">==</span><span class="kc">true</span><span class="p">){</span>
</span></span><span class="line"><span class="cl"><span class="nx">selectedArray</span><span class="p">[</span><span class="nx">selectedArray</span><span class="p">.</span><span class="nx">length</span><span class="p">]</span> <span class="o">=</span> <span class="k">new</span> <span class="nb">Array</span><span class="p">(</span><span class="nx">tags</span><span class="p">.</span><span class="nx">options</span><span class="p">[</span><span class="nx">index</span><span class="p">].</span><span class="nx">text</span><span class="p">,</span> <span class="nx">tags</span><span class="p">.</span><span class="nx">options</span><span class="p">[</span><span class="nx">index</span><span class="p">].</span><span class="nx">value</span><span class="p">,</span> <span class="nx">tags</span><span class="p">.</span><span class="nx">options</span><span class="p">[</span><span class="nx">index</span><span class="p">].</span><span class="nx">selected</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="k">else</span><span class="p">{</span>
</span></span><span class="line"><span class="cl"><span class="nx">optionArray</span><span class="p">[</span><span class="nx">optionArray</span><span class="p">.</span><span class="nx">length</span><span class="p">]</span> <span class="o">=</span> <span class="k">new</span> <span class="nb">Array</span><span class="p">(</span><span class="nx">tags</span><span class="p">.</span><span class="nx">options</span><span class="p">[</span><span class="nx">index</span><span class="p">].</span><span class="nx">text</span><span class="p">,</span> <span class="nx">tags</span><span class="p">.</span><span class="nx">options</span><span class="p">[</span><span class="nx">index</span><span class="p">].</span><span class="nx">value</span><span class="p">,</span> <span class="nx">tags</span><span class="p">.</span><span class="nx">options</span><span class="p">[</span><span class="nx">index</span><span class="p">].</span><span class="nx">selected</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">while</span> <span class="p">(</span><span class="nx">index</span><span class="o">--</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl"><span class="nx">tags</span><span class="p">.</span><span class="nx">options</span><span class="p">[</span><span class="nx">index</span><span class="p">]</span> <span class="o">=</span> <span class="kc">null</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">index</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">index</span> <span class="o"><</span> <span class="nx">selectedArray</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">index</span><span class="o">++</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl"><span class="nx">tags</span><span class="p">.</span><span class="nx">add</span> <span class="p">(</span><span class="k">new</span> <span class="nx">Option</span><span class="p">(</span><span class="nx">selectedArray</span><span class="p">[</span><span class="nx">index</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span> <span class="nx">selectedArray</span><span class="p">[</span><span class="nx">index</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span> <span class="kc">false</span><span class="p">,</span> <span class="nx">selectedArray</span><span class="p">[</span><span class="nx">index</span><span class="p">][</span><span class="mi">2</span><span class="p">]));</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">index</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">index</span> <span class="o"><</span> <span class="nx">optionArray</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">index</span><span class="o">++</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl"><span class="nx">tags</span><span class="p">.</span><span class="nx">add</span> <span class="p">(</span><span class="k">new</span> <span class="nx">Option</span><span class="p">(</span><span class="nx">optionArray</span><span class="p">[</span><span class="nx">index</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span> <span class="nx">optionArray</span><span class="p">[</span><span class="nx">index</span><span class="p">][</span><span class="mi">1</span><span class="p">]));</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div>}不
不够智能的网志
相关文章
昨日收集 - Blog、手机游戏、搜索
2005-5-31 优友BLOG 让你潇洒“博”一 把–DoNews.com–IT社区&写作平台 手机游戏的传奇人物 第二代搜索引擎—大量应用人工智能是标志 手机网游:契机与困局 BREW、JAVA暗战3G增 …
BSP or BCP?Blog的发展方向
写在前面:统一概念BSP=Blog服务提供商,BCP=Blog内容提供商。 以前有人说过,互联网的发展每几年就要轮回一次,中国互联网发展到今天已经足够一个轮回了。 在轮回里面充满着新奇的点子、大把的票子、勇敢的疯子和跟风的傻子,不管过程是多 …
Plog和Wordpress试用,与Drupal的对比
上午安装了两个Blog程序,Plog和WordPress,粗用了一下,正好可以和Drupal对比一下。 安装方面,这两个都比Drupal简单,一个执行文件很快就装好了,速度很快。 配置方面,WordPress应该是最简单的,总共也没几项需要 …