Dostęp wybierz 2 opcje HTML nokaut zwyczaj wiązania, aby je wyłączyć

głosy
0

Próbuję uzyskać dostęp do elementów opcję z listy rozwijanej select2 wykorzystaniem nokaut zwyczaj wiązania w celu wyłączenia niektórych z nich (niektóre opcje). Zwyczaj wiązania jest:

    ko.bindingHandlers.select2 = {
        after: [options, value],
        update: function (el, valueAccessor, allBindingsAccessor, viewModel) {
            var allBindings = allBindingsAccessor();
            var select2 = $(el).data(select2);
        }
    };

a część HTML jest:

    <div style=width: 350px;>
        <select style=width: 100%; data-bind=value: attributiSelezionati, options: data, valueAllowUnset: true, optionsText: 'text', optionsValue: 'id', select2: { placeholder: 'Select an option...', allowClear: true, multiple: true}></select>
    </div>

gdzie macierz danych jest:

this.data = ko.observableArray([]);
this.data.push(new Item(1, Item 1));
this.data.push(new Item(2, Item 2));
this.data.push(new Item(2, Item 22));
this.data.push(new Item(3, Item 3));
this.data.push(new Item(null, Item 4));

class Item {
id: KnockoutObservable<number> = ko.observable<number>();
text: KnockoutObservable<string> = ko.observable<string>();

constructor(Id: number, Text: string) {
    this.id(Id);
    this.text(Text);
} 
}

Widzę dane po I wskaźnik nad elementem el ale nie wiem jak do niego dostęp programowo. Czy ktoś wie jak zdobyć te przedmioty?Opcje,

Utwórz 19/12/2018 o 14:17
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

Powinien on być w valueAccessor()

valueAccessor: Stanowi funkcji JavaScript, który może być używany do uzyskania dostępu do właściwości lub wyrażenia aktualny udział w tym wiążące. Ponieważ Knockout pozwala użyć właściwości widoku modelu bezpośrednio (takich jak „data-wiążą =«enabled: IsEnabled»”), albo wyrażenia (takie jak „data-wiążą =«enabled: firstName.length> 0»”) , istnieje funkcja narzędzie, które będzie „rozpakować” i daje wartość rzeczywistą wykorzystywane w wiązaniu. Nawiasem mówiąc, ta funkcja nazywa się „ko.unwrap”.

var val = ko.unwrap(valueAccessor());
//val.options;
Odpowiedział 19/12/2018 o 14:54
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more