2

我正在使用 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>

这是2个屏幕截图:

打开选择框 关闭选择框

4

3 回答 3

1

自己解决了

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

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

$('#edit_agent').on('pagebeforeshow', function(event, data) {

    if ( data.prevPage.attr('id') !== 'new_agent_editsubscribers-dialog') {

        // initialisation code
        ...
        ...
    }
});
于 2013-08-07T16:21:54.750 回答
0

通常,当项目数高于屏幕高度时,弹出窗口会变成一个新页面。打开下拉菜单后,来电者页面(现在是上一页)被隐藏。

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

正如卡特所说,如果您发布一些代码会很棒。

干杯,

于 2013-08-05T02:38:18.853 回答
0

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

$("#page_id").on("pagecreate", function (e) {
     //select list creation code here
});
于 2014-12-07T14:16:50.263 回答