Automatyczne ustawienie w formularzu selected na domyślny po wykonaniu funkcji

0

Posiadam taką funkcję w javascript:

function doSelect(tag, id, obj)
{
    textarea = document.getElementById(obj);
    d = document.getElementById(id).value;
    if ( d == 0 )
    {
        return false;
    }
    else
    {
        if (document.selection)
        {
            textarea.focus();
            var sel = document.selection.createRange();
            //alert(sel.text);
            sel.text = '[' + tag + '=' + d + ']' + sel.text + '[/' + tag + ']';
        }
        else
        {  // Code for Mozilla Firefox
            var len = textarea.value.length;
            var start = textarea.selectionStart;
            var end = textarea.selectionEnd;
        
        
            var scrollTop = textarea.scrollTop;
            var scrollLeft = textarea.scrollLeft;

        
            var sel = textarea.value.substring(start, end);
            //alert(sel);
            var rep = '[' + tag + '=' + d + ']' + sel + '[/' + tag + ']';
            textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
        
            textarea.scrollTop = scrollTop;
            textarea.scrollLeft = scrollLeft;
        }
    }
}

Która powoduje, że po wybraniu np. czcionki z pola SELECT, wpisywana jest ona do pola textarea razem ze znacznikiem bbcode. Co chcę osiągnąć? Chcę, aby wybraniu jakiejś czcionki z pola select, wczytał się normalnie znacznik bbcode, ale dodatkowo, aby pole select zmieniło domyślnie zaznaczoną wartość na tą pierwszą. Teraz jest tak, że jak zaznaczę np. Arial to znacznik wpisze się w pole textarea, ale w polu select cały czas jest wybrana ta czcionka 'Arial', a ja potrzebuję przerzucić z automatu na selected="selected" dla pierwszej wartości w select'cie, gdzie value zawsze jest równe 0.

I tak trochę pytanie z innej beczki - powyższa funkcja po wpisaniu do pola select znacznika, usuwa całkowicie zaznaczenie z pola textarea. Czy da się zrobić tak, aby zaznaczony tekst pozostawał zaznaczonym?

0

Z pierwszym problemem sam sobie poradziłem:

document.getElementById(id).selectedIndex = 0;

Jednak nadal czekam na odp. co do drugiego pytania.

0

http://help.dottoro.com/ljgbbkjf.php

edit:
Czekaj, a nie wystarczy po prostu textarea.selectionStart = odpowiednia_wartosc i textarea.selectionEnd = odpowiednia_wartosc...?

0

A tak trochę jaśniej? Szukałem jakichkolwiek exampli w necie na temat tej funkcji, którą podałeś, ale nic tam nie znalazłem.

0

Wpisz sobie:

textarea.value = "tro lo lo lo lo lo lo";
textarea.selectionStart = 2;
textarea.selectionEnd = 8;

i zobacz co się stanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1