Создание динамического выпадающего списка с помощью jquery mobile

Следующий код не работает при создании раскрывающегося списка с помощью jquery mobile

   $(function(){
      $('#hello').append('<select id="myselect" data-native-menu="false">'+
     ' <option>1</option>'+
     '<option>2</option>'+
     '<option>3</option>'+
     '<option>4</option>'+
     '<option>5</option>'+
     '<option>6</option>'+
     '</select>'+
     '<div id="keyOpen" style="background-color: blue;"></div>'+
     '<div id="keyClose"></div>');

     $( "#myselect" ).selectmenu( "refresh" );
     $(document).keyup(function(e){
     if(e.which >= 48 && e.which <= 57){
     $("#myselect").selectmenu( "open" );//this should open the select
     $("#keyOpen").empty().text(e.which);
     }else if(e.which >= 58 && e.which <= 90){
     $("#myselect").selectmenu( "close" );//this should close the select
     $("#keyClose").empty().text(e.which);
     }
     });
    }); 

Тот же код работает нормально, когда я помещаю этот код внутри тела

Рабочий код:

   <select id="myselect" data-native-menu="false">
     <option>1</option>
     <option>2</option>
     <option>3</option>
     <option>4</option>
     <option>5</option>
     <option>6</option>
  </select>
  <div id="keyOpen" style="background-color: blue;"></div>
  <div id="keyClose"></div>

1 ответ

Использование $(".selector").selectmenu("refresh") только при внесении изменений в существующий select,

Всякий раз, когда вы добавляете новый selectиспользовать $(".selector").selectmenu(); усилить это.

демонстрация