ListBox中的options可以使用特殊的 swapNode 來將二個options位置對調,
但FireFox與Chrome 皆不支援此功能。
因此在 swapNode  的時候判斷是否支援 swapNode  功能,
若不支援則採用另一段程式。

在尋找解決 swapNode  在FF及Chrome不支援問題時找到部分參考內容,

swapNode in FireFox 這篇的內容似乎不適用於ListBox的項目,
可能用於Tree的功能,留著參考。

下列程式用於同一個ListBox下順序對調。
 

    function ListSort(IName)

    {
        var tTarget = document.getElementById(IName);
        for(var i = 0 ; i < tTarget.options.length ; i++)
        {
            var intTar = i ;
            for(var j = i ; j < tTarget.options.length ; j++)
            {
                if(parseInt(tTarget.options[j].value) < parseInt(tTarget.options[intTar].value))
                {
                    intTar = j;
                }
            }
            
            if(intTar != i)
            {
                document.swapNode? tTarget.options[i].swapNode(tTarget.options[intTar]):swapNodes(tTarget,i,intTar);
            }
        }
    }
    function swapNodes(tTarget,i,intTar)
    {
        var itemtmp = tTarget.options[i];
        tTarget.options[i] = tTarget.options[intTar];
        tTarget.options[intTar] = itemtmp;
        itemtmp = null;
    }
arrow
arrow
    全站熱搜

    赫連.雨 發表在 痞客邦 留言(0) 人氣()