mam selectmenu jak na poniższymUstaw selectmenu jQuery UI do określonej opcji przez javascript
<select name="scale" id="scale">
<option selected>linear</option>
<option>root</option>
<option>square</option>
</select>
Żeby było miło używam jQuery UI v1.11.2.
$('#scale').selectmenu();
mogę teraz odczytać wartość z rozwijanej przez
alert($('#scale').val());
co skutkuje „liniowy” jako odpowiedź. Mogę także ustawić wartość na "kwadrat", używając wartości "kwadrat", która prawidłowo nadaje odpowiedź "kwadrat". Ale (!!!) lista nie wyświetla tego na ekranie. Tak więc mogę ustawić i odczytać wartość, ale reprezentacja wizualna się nie zmienia - widżet nie odświeża się. Czytałem gdzieś rzucić .change()
, ale bez żadnego efektu. Próbowałem również odpowiedzi, takich jak w jQuery UI Selectmenu value set dynamically does not change visible selected value, ale nie powiodło się. Każdy kod $('#scale').selectmenu('value', 'square');
jest wyświetlany w komunikacie o błędzie Error: no such method 'value' for selectmenu widget instance
.
Czy ktoś może pomóc odświeżyć widget po ustawieniu go na nową wartość?
Powinno działać tak, jak się spodziewacie, jeśli po prostu zadzwonisz ['odśwież'] (http://api.jqueryui.com/selectmenu/#method-refresh) po użyciu '.val()': '$ (" # scale "). selectmenu (" odśwież ");' – blgt
To działa! Dzięki wielkie. – Steevie
@blgt proszę zaksięgować to jako odpowiedź. Nie pozostawiaj pytań bez odpowiedzi, odpowiadając w komentarzach ... –