jquery mobile selectmenu不在chrome中工作

时间:2016-02-19 13:15:17

标签: ios google-chrome azure jquery-mobile select-menu

我有一个jquery-mobile选择菜单,之前在Safari和Chrome中都运行良好,但最近selectmenu不会选择选项。它在Safari中仍然可以正常工作。在我的桌面上使用模拟器或chrome时使用开发工具时,我没有错误。我确实遇到了glyphicons-halflings-regular.woff2没有加载的问题,我已经尝试了堆栈中找到的所有建议,但这些似乎都没有工作,我做过的大部分研究都得出了&gt的答案; 4岁。

我正在使用jquery mobile 1.4.5和bootstrap 3.3.6,该应用程序驻留在Azure上。

这就是我现在所拥有的......

<div class="ui-field-contain" id="regionDiv">
     <label for="region">Region:</label>
     <select class="text-left" name="select-region" id="region" data-native-menu="false" data-mini="true" onchange="changeRegion();"></select>
</div>

<div class="ui-field-contain">
     <label for="projectmob">Project:</label>
     <select class="text-left" name="select-proj" id="projectmob" data-native-menu="false" data-mini="true" onchange="dwmChange();"></select>
</div>

区域和项目选择菜单都没有选择项目,只是留下一个空白框或者不允许您选择项目。

选中时运行的.js(我觉得很好)......

function changeRegion() 
{
    var regid = Number($("#region").val());
    var projsel = $("#projectmob");
    projsel.empty();
    projsel.append("<option id='selproj' value='placeholder' data-placeholder='true'>Select Project...</option>");
    var projNumber = 0;
    var projValue = -1;

    for (var i = 0; i < proj.length; i++) {
        if (proj[i].region == regid) {
            projNumber++;
            projsel.append("<option id='oc1-" + proj[i].id + "' value='" + proj[i].id + "'>" + proj[i].wono + ': ' + proj[i].name + "</option>");
            projValue = proj[i].id;
        };
    };

    $("#projectmob").selectmenu('refresh', true);
    if (projNumber == 1) {
        $("#projectmob").val(projValue).selectmenu('refresh');
    };

    getFilteredEvents();
}

function dwmChange()
{
    var projid = Number($("#projectmob").val());
    if (projid > 0) {
        getFilteredEvents();
        var regValue = findRegion(projid);
        $("#region").val(regValue).selectmenu('refresh');
    };
}

getFilteredEvents();点击azure sql数据库并使用检索到的数据设置屏幕。

就我所知,大约一周前这一切都很顺利。我已经进行了更改和更新,但我认为没有一个会影响工作中的选择。

任何想法或想法都会受到赞赏。

由于

1 个答案:

答案 0 :(得分:-1)

Chrome 50.0.2661.89似乎存在问题。

  

进一步研究......

     

我必须质疑JQuery Mobile默认隐藏工具栏选择&gt;元素焦点背后的逻辑。原生浏览器选择元素以&gt;各种特殊方式覆盖页面,甚至是非原生选择弹出窗口(当您指定数据属性data-native-menu =&#34; false&#34; in时,您获得&gt; html或nativeMenu:&gt;在selectmenu选项中为false)绝对定位为对话框。这>&gt;意味着工具栏实际上不会侵入给予&gt; selectmenu选项的不动产,因为它们总是覆盖包括工具栏在内的所有内容。 &gt;对我来说,这使得第12664 - 12692行的代码评论为:这会隐藏键盘弹出窗口上的&gt;工具栏,为&gt;选择元素提供更多的屏幕空间。

     

解决方法/解决方案:谢天谢地,jQuery-Mobile很好地允许您使用数据属性data-hide-during-&gt;焦点覆盖&gt;页眉/页脚中的此设置 - 只需将其设置为:

     

数据隐藏在焦点期间=&#34;输入,textarea&#34;

     

当选择元素获得焦点时,它不会再试图隐藏工具栏。&#34;   来自https://github.com/jquery/jquery-mobile/issues/8429