2016-10-10 12 views
5

Mam dropdown z następującymi atrybutami na nim:Get wybranej wartości opcji w przypadku zmiany

<select value.bind="row.columns[$parent.$index].colSize" change.delegate="changeColumnSize($parent.$index, $index, row.columns[$parent.$index].colSize)"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
</select> 

Ale wydaje się, że nie mogę przejść row.columns[$parent.$index].colSize jako parametr. Zawsze jest to undefined.

Jak mogę przekazać wybraną wartość z rozwijanego menu bezpośrednio do metody zdarzeń change?

Odpowiedz

10

Brakuje wartości. Bind w wybranych opcjach. Wolę używać mode.bind zamiast value.bind though. Spróbuj czegoś takiego:

<template> 
    <select value.bind="changedValue" change.delegate="DropdownChanged(changedValue)"> 
     <option model.bind="1">1</option> 
     <option model.bind="2">2</option> 
     <option model.bind="3">3</option> 
     <option model.bind="4">4</option> 
    </select> 
</template> 



export class App { 
    changedValue; 


    DropdownChanged(changedVal) { 
    alert(changedVal); 
    } 

} 

Nie jestem pewien, co starasz się wiązać select, ale w zasadzie chcesz utworzyć zmienną, które można powiązać wybraną wartość zbyt. Tak więc wybrana wartość zostanie ustawiona na zmienną changedValue. Lubię używać model.bind, ponieważ mogę powiązać wartości true/false zamiast wszystkiego, co jest ciągiem.

Zrobiłem uruchomioną GIST do użycia w razie potrzeby: https://gist.run/?id=87f6897928feb504dad638d439caf92f

Powiązane problemy