Jquery mobile Jquery移动对话框可滚动

Jquery mobile Jquery移动对话框可滚动,jquery-mobile,Jquery Mobile,我正在使用jquery mobile作为我的应用程序,我在选择上使用了data native menu=“false” <select id="chosenpro" data-theme="a" data-native-menu="false"> </select> 然后我在里面设计了的样式,使它们看起来像一个带有显示:inline块的网格包括图像。 但是我希望这个弹出窗口是可滚动的,因为它比我的页面高 我知道这个答案,但无法将其适用于我的情况: 你能帮忙吗 谢谢选

我正在使用jquery mobile作为我的应用程序,我在选择上使用了
data native menu=“false”

<select id="chosenpro" data-theme="a" data-native-menu="false">
</select>
然后我在里面设计了
  • 的样式,使它们看起来像一个带有
    显示:inline块的网格包括图像。
    但是我希望这个弹出窗口是可滚动的,因为它比我的页面高

    我知道这个答案,但无法将其适用于我的情况:

    你能帮忙吗


    谢谢

    选择带有
    数据菜单的
    菜单native=“false”
    将根据屏幕高度和选项数量转换为弹出窗口或对话框

    弹出对话框保存
    选择
    菜单加
    -对话框
    id
    。例如,如果
    select
    菜单的
    id
    foo
    ,则对话框的
    id
    变为
    foo对话框

    要操作该对话框,首先需要检索其“
    id
    ,然后绑定任何页面事件以进行任何更改

    进行此类修改的最佳事件是
    pageinit
    ,因为它每页只触发一次。检索
    select
    菜单的
    id
    后,将
    pageinit
    绑定到该对话框,对包含
    select
    菜单选项的
    数据角色=内容进行更改

    需要应用于
    data role=content
    的更改有,
    height
    overflow-y

    更新:您不需要覆盖
    overflow-y
    ,设置固定的
    高度就足够了

    (1)


    (1) 在iPhone5-Safari Mobile上进行测试

    Hi@Omar,我编辑了我的问题,评论消失了……很抱歉,我不知道这一点。是的,你是对的,这是一个弹出窗口,不是一个对话框,对不起!所以新手犯了个错误。我应该避免编辑问题以避免删除评论吗?如果我编辑了你的答案会有帮助吗(不确定…?@Louis你可以用任何评论编辑你的问题。我不知道你的评论是怎么删除的。我已经删除了对您问题的评论。我修改了您的JSFIDLE以更好地表示问题:当视口缩小(在手机上)时,我需要弹出窗口可滚动。提示:如果我使用此css:
    #chosenpro菜单{height:200px!重要;overflow-y:scroll;}
    它使它可以在我的桌面浏览器上滚动,但不能在我的android浏览器上滚动。现在它不同了!我想最好是动态创建一个新的弹出窗口,而不是修改jQM创建的弹出窗口。彻底测试它需要一些时间。这就是它应该看起来的样子。如果可能的话,我最好使用jqm弹出窗口,并使它在手机上可以滚动。(如有可能)
    .ui-popup-container .ui-popup-active
    
    /* when pageX which contains long selectmenu
       is being initialized, retrieve selectmenu's id */
    
    $(document).on("pageinit", "#pageID", function () {
    
        /* selectmenu's id */
        var selectID = "#" + $("select", this)[0].id + "-dialog";
    
        /* dialog is being initialized,
           change height to half screen's height */
        $(document).on("pageinit", selectID, function () {
            var height = $.mobile.getScreenHeight() / 2;
            $(".ui-content", this).css({
                height: height
            });
        });
    });