jQuery Mobileでselectをjsから指定する

jQuery MobileのSelect要素

<select name="color" id="color_select" data-native-menu="false">
    <option value="">選択してください</option>
    <option value="red"></option>
    <option value="blue"></option>
    <option value="white"></option>
    <option value="black"></option>
</select>

選ぶとこういう状態になる。


見た目をスマートフォンっぽくするために、selectとは別のhtmlを描画してるので、普通のフォームのようにjsで値を変更しても見た目変わっていないように見える

$('#color_select').val('black');
// とか
$('#color_select').val('');
// しても見た目が変わらない。


ドキュメント調べてみると、selectmenu('refresh')をすると見た目を変更できることがわかった。

$('#color_select').val('black').selectmenu('refresh');


close、open、disable、enableなんかもselectmenuから制御できる。


参考 Selectmenu Widget | jQuery Mobile API Documentation