Bir php web sitesinde javascript kodu yazıyorum. Dropdown menü şeklindeki bir kontrolden seçim yapıp butona basıldığında altalta liste şeklindeki bir kontrole aktarıyor ve dropdown menü den seçilmiş olanı siliyor. Ekleme işleminin tersi de gerçekleşiyor ve listeden alınıp Dropdown menüye geri koyulabiliyor. Bu işlemler sonucunda listelerde sıralama işlemi yapılıyor. Bu javascript kodu Firefox browser ında çalışırken internet explorer da çalışmıyor? Bu konuda bilgisi olan var mı? Aşağıda yazdığım bütün JS kodunu bulabilirsiniz:

<script type="text/javascript">
        function listeye_ekle()
        {
            var e = document.getElementById("user_id");
            var selected_item = e.options[e.selectedIndex];
            var elSe2 = document.getElementById('users');
            try
            {
                elSe2.add(selected_item, null);
            }
            catch(ex)
            {
                elSe2.add(selected_item);
            }
            sortOptions(elSe2);
            var values = new Array();
            for(var i = 0; i < elSe2.options.length; i++)
            {
                values.push(elSe2.options[i].value);
            }
            var allValues = values.join("/");
            var sec = document.getElementById("secilenler");
            sec.value = allValues;
        }
        function listeden_cikar()
        {
            var elSe2 = document.getElementById('users');
            var selected_item;
            for (i = elSe2.length - 1; i>=0; i--)
            {
                if (elSe2.options[i].selected)
                {
                    selected_item = elSe2.options[i];
                    try
                    {
                        elSe2.remove(i, null);
                    }
                    catch(ex)
                    {
                        elSe2.remove(i);
                    }
                    break;
                }
            }
            var e = document.getElementById("user_id");
            try
            {
                e.add(selected_item, null);
            }
            catch(ex)
            {
                e.add(selected_item);
            }
            sortOptions(e);
            var values = new Array();
            for(var i = 0; i < elSe2.options.length; i++)
            {
                values.push(elSe2.options[i].value);
            }
            var allValues = values.join("/");
            var sec = document.getElementById("secilenler");
            sec.value = allValues;
        }
        function compareOptionText(a,b)
        {
            return a.text!=b.text ? a.text<b.text ? -1 : 1 : 0;
        }
        function sortOptions(list)
        {
            var items = list.options.length;
            var tmpArray = new Array(items);
            for (i=0; i<items; i++ )
            {
                tmpArray[i] = new Option(list.options[i].text, list.options[i].value);
            }
            tmpArray.sort(compareOptionText);
            for (i=0; i<items; i++)
            {
                list.options[i] = new Option(tmpArray[i].text,tmpArray[i].value);
            }
        }

    </script>

soruldu: 15 Ağu '12, 06:40

numankaraaslan's gravatar image

numankaraaslan
1.8k253749
cevap kabul oranı: 19%

değiştirildi: 05 Eki '12, 04:20

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


www.jshint.com sitesinde kodunu yapıştırıp hataları görebilirsin. Örneğin return a.text!=b.text ? a.text<b.text ? -1 : 1 : 0; satırında '!=' yerine '!==' kullanman gerekiyor.

permanent link

cevaplandı: 15 Ağu '12, 08:18

kam's gravatar image

kam
1.3k82032
cevap kabul oranı: 16%

değiştirildi: 29 Ağu '12, 01:30

mabulgu's gravatar image

mabulgu ♦
2.8k43040

teşekkürler test edeceğim. ama gördüğüm kadarıyla hata elSe2.add(selected_item); satırında çünkü bu örneği aldığım yerde bu satır IE için yazılır diyor ama yine de çalışmıyor. catch bloğuna girip bu satırı çalıştıramdan kalıyor.

(15 Ağu '12, 08:46) numankaraaslan numankaraaslan's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×137

Soruldu: 15 Ağu '12, 06:40

Görüntüleme: 1,749 kez

Son güncelleme: 05 Eki '12, 04:20

powered by BitNami OSQA