在javascript中打开弹出/对话框的问题

时间:2014-07-15 13:38:53

标签: javascript jquery jquery-ui jquery-mobile

我的应用程序中有一个动态选择框。点击任何列表项我需要在弹出窗口中显示项目详细信息。但是我无法打开现在没有发生的弹出/对话框,我的代码是,

 $( "#locationList" ).on( "click", "li", function( event ) { 
   alert("click event");
   $.mobile.changePage('#myPopupDialog', 'pop', true, true);
}); 

我能够看到警报,但对话框没有打开。

<div data-role="dialog" id="dialog">
      <div data-role="header">
        <h1>List Item details</h1>
      </div>

      <div data-role="main" class="ui-content">
        <h2>Welcome to my Popup Dialog!</h2>
      </div>

      <div data-role="footer">
        <h1>Footer Text</h1>
      </div>
    </div>

列表元素应该来自Db,例如,

var optionheading = '<li value="Select Location">Select Location</li>';
for (var i = 0; i < res.rows.length; i++)
            {
               var opt  = '<li value="';
               opt += res.rows.item(i).Location;
               opt += '">';
               opt += res.rows.item(i).Location;
               opt += '</li>';
               $("#locationList").append(opt);
            }
          $("#locationList").listview('refresh');

HTML:

<ul data-role="listview" id="locationList" data-dismissible="false" style="height: 150px;border:1px solid #ccc;background:#f2f2f2;font:normal 11px/15px arial;padding:6px;color:#333; overflow: auto" name="locationList" data-inset="true">
                </ul>

任何建议!!

1 个答案:

答案 0 :(得分:1)

您的对话框已

id="dialog"

但是你的javascript试图弹出一个id为myPopupDialog的对话框:

$.mobile.changePage('#myPopupDialog', 'pop', true, true);

这些ID必须匹配!

如果您使用的是jQM 1.4.x,则对话框页面应使用data-dialog =&#34; true&#34;:

<div data-dialog="true" id="myPopupDialog">
  

这是一个有效的 DEMO