1

当我使用 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>
4

1 回答 1

1

仅在$(".selector").selectmenu("refresh")对现有select.

每当你追加一个新的select,使用$(".selector").selectmenu();来增强它。

演示

于 2013-10-28T12:15:05.620 回答