Przejdź do głównej treści

ExtSelect


Jest to lista wyboru, której elementy definiujemy ręcznie lub za pomocą zapytania SQL. Automatycznie dobiera rozmiar, a w przypadku wielu wyborów, dołącza opcje wyszukiwania jako pole tekstowe.

Dodanie Obiektu

Widok
Pole na dialogu
Pole na dialogu
Pole po kliknięciu
Pole po kliknięciu

Dostępne metody

setData(array $data)

Metoda setData() umożliwia dodanie tablicy dwuwymiarowej z opcjami do pola. Tablica ta powinna być następującej struktury:

$data = [
    [ 0 => 'wartość', 1 => 'etykieta']
];

addItem($k, $v)

Deklaracja pojedynczego wyboru, gdzie $k będzie identyfikatorem zapisywanym jako wartość pola, a $v zostanie wyświetlona na liście jako opis wartości.

$obiekt->addItem(0, 'NIE');
$obiekt->addItem(1, 'TAK');

Dostępne własności

query - Zapytanie SQL

Jeżeli chcemy dodać dane z zapytania SQL, to musimy przypisać kwerendę do właściwości
query, a następnie wywołać metodę update().

$obiekt->query ='SELECT prtpid, prtpnm
         FROM procedures_def
         WHERE NOT is_del
         ORDER BY prtpnm ASC';

$obiekt->update();

multiselect

W celu umożliwienia wybrania kilku opcji należy ustawić parametr multiselect = true.

$obiekt->multiselect = true;

withDefaultItem

Dodaje automatycznie od naszej listy domyślny element, który możemy określić za pomocą @defaultItemCaption.

$obiekt->withDefaultItem = true;
$obiekt->defaultItemCaption = '--- wybierz ---';

fullItemsWidth

Wymusza zawsze pokazywanie pełnych etykiet.

$obiekt->fullItemsWidth = true;

withClearButton

Dodaje przycisk do wyczyszczenia aktualnie wybranych elementów.

$obiekt->withClearButton = true;

Łączenie addItem() i query

W przypadku użycia powyższego sposobu z zapytaniem SQL i dodania dodatkowych opcji wyboru, za pomocą metody addItem(), należy metodę update(), umieścić po przypisaniu zapytania query, ale przed metodami addItem().

Pobranie aktualnej wartości za pomocą JS

JScript::add('var value = $(\''.$obiekt->name.ExtSelect::SELECT_NAME_POSTFIX.'\').value;');

Przypisanie funkcji do zdarzenia onchange

$obiekt->onChange = 'alert(\'Zmieniono wartość na \' + $(\''.$obiekt->name.ExtSelect::SELECT_NAME_POSTFIX.'\').value);';