方法selectmenu()不存在?

时间:2013-01-03 12:39:08

标签: javascript jquery jquery-mobile

你可以帮我解决这个问题:

javascript:

$(document).ready(function() {
            $('#roomresults').append('<option value="ahoj">say hallo</option>');
            $('#roomresults').selectmenu('refresh'); 
            });

和我的选择:

<label for="roomresults"> Results: </label>
<select name="roomresults" id="roomresults" data-theme="c">
</select>

它看起来很简单,但是当我运行它时,我的javascript控制台告诉我

  

未捕获的TypeError:对象[object object]没有方法&#39; selectmenu&#39;

问题在哪里?谢谢你的回答:)

1 个答案:

答案 0 :(得分:1)

请勿使用以下语法:

$(document).ready(function() {
    $('#roomresults').append('<option value="ahoj">say hallo</option>');
    $('#roomresults').selectmenu('refresh'); 
});

像这样使用:

$(document).live('pageinit',function(e,data){
    $('#roomresults').append('<option value="ahoj">say hallo</option>');
    $('#roomresults').selectmenu('refresh'); 
});

原因: $(文档).ready(function(){是不够的,此时jQuery mobile开始将页面加载到DOM中。事件 pageinit < / em> 用于检查jQM是否成功加载。只有在此事件之后或期间,您才能使用jQM功能,如 selectmenu('refresh')

您可以在此处找到更多相关信息:http://jquerymobile.com/test/docs/api/events.html

没有证据的答案是什么:http://jsfiddle.net/Gajotres/2wmZK/