Jquery 移动问题,长选多个选项和数据原生菜单 = "false"



我使用的是jquery 1.9.1 js和jquery mobile 1.3.2 css和js。

我有一个很长的选择框,里面有20个项目。当我打开选择框,选择一些项目并再次关闭时,我会看到一个空白页。

有人有这个问题吗?

在jquery mobile 1.3.1中,当您第二次打开选择框时,会出现选择框为空的问题,但这并没有改善。

编辑:

这是我页面上的代码:

<div data-role="page" id="new_agent_edit" data-theme="d" qs="">
    <div data-role="header" data-theme="b">
        <h1>New Agent Edit</h1>
    </div>
    <div id="new_agent_editContent" data-role="content">
          <div>
            <h2 style="display:inline">Agent #Test Agent</h2><br/>
          </div>
          <div>
          <form id="frmAgentNewEdit" name="frmAgentNewEdit">
          <div data-role="fieldcontain">
              <label for="new_agent_editsubscribers" class="select">Publishes To:</label>
              <select name="subscribers" id="new_agent_editsubscribers" data-native-menu="false" multiple="multiple">
                 <option data-placeholder="true">Choose Agents...</option>
                 <option value="1">#1 SMS Message (inactive)</option>
                 <option value="2">#2 Weather Update (inactive)</option>
                 <option value="3">#3 Stock Update (active)</option>
                 <option value="4">#4 Email Notification (inactive)</option>
                 <option value="5">#5 Digest Email (inactive)</option>
                 <option value="6">#6 Word Cloud (inactive)</option>
                 <option value="7">#7 Time Series (active)</option>
                 <option value="8">#8 Google News Sentiment Analysis (active)</option>
                 <option value="9">#9 Google Nieuws (active)</option>
                 <option value="10">#10 Twitter (active)</option>
                 <option value="11">#11 Time Series (inactive)</option>
                 <option value="12">#12 Time Series (inactive)</option>
                 <option value="13">#13 twitterstream: Sentiment Analysis (active)</option>
                 <option value="14">#14 Weather (inactive)</option>
                 <option value="15">#15 Read Email (inactive)</option>
                 <option value="16">#16 Stock (inactive)</option>
                 <option value="17">#17 it-ebooks: Last Update eBooks (inactive)</option>
                 <option value="18">#18 Dilbert (inactive)</option>
                 <option value="19">#19 Marktplaats aanbiedingen (inactive)</option>  
              </select>
          </div>
          </form>
          </div>
    </div>
</div>

这里有两张截图:

打开选择框关闭选择框

自己解决了

弹出窗口是从显示事件之前有一页的页面打开的。此事件包含页面的初始化代码。每次关闭弹出窗口时,都会再次触发此事件,从而触发初始化代码,从而导致中断。

通过使初始化代码的执行成为有条件的,我解决了问题:

$('#edit_agent').on('pagebeforeshow', function(event, data) {
    if ( data.prevPage.attr('id') !== 'new_agent_editsubscribers-dialog') {
        // initialisation code
        ...
        ...
    }
});

通常,当项目数高于屏幕高度时,弹出窗口会变成一个新页面。下拉列表打开后,调用方页面(现在是上一页)将被隐藏。

在您的情况下,在关闭下拉列表后,上一页似乎不再处于活动状态。如果可能,请尝试强制调用方页面处于活动状态。

正如carter所说,如果你发布一些代码,那就太好了。

干杯,

我通过将选择列表创建代码移动到pagecreate事件来解决此问题:

$("#page_id").on("pagecreate", function (e) {
     //select list creation code here
});

最新更新