2013-12-08 38 views
0

我使用的是一個php頁面的巨大彈出窗口,但一旦頁面打開,其中的選擇器不會拿起jquerymobile樣式,只顯示爲常規輸入選擇器。 我加載PHP頁面是這樣的:magnific彈出jquery樣式

<!DOCTYPE html> 
<html> 

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<meta name="viewport" content="width=device-width"> 

<link href="../../jquery.mobile-1.3.1.min.css" rel="stylesheet"> 
<script src="../../jquery-1.10.1.min.js"></script> 
<script src="../../jquery.mobile-1.3.1.min.js"></script> 

<!-- magnific popup --> 
<link href="../../magnific-popup.css" rel="stylesheet" /> 
<script src="../../magnific_popup.js"></script> 

<script> 
$.mobile.loadingMessage = false; 
</script> 


</head> 
<body> 

<div data-role="page" id="home" data-theme='a'>  
     $.magnificPopup.open({ 
       closeOnContentClick:false, 
       closeOnBgClick:false, 
        items: { 
         src: '../../test-ajax.php 
        }, 
        type: 'ajax' }, 0); 
        } 

在測試ajax.php的網頁我有:

<html><head> 
<meta http-equiv="content-type" content="text/html; charset=windows-1252"></head> 
<body><div id="custom-content" class="mfp-bg style="max-width:100%; margin: 20px 
auto;"> 
    <style> 
    #custom-content img {max-width: 70%;margin-bottom: 10px;} 
    </style> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<meta name="viewport" content="width=device-width"> 
</head> 

<body> 

    <select name="test" id="test" onChange="ReadForm (this, false);"> 
           <option value="a">yadayada</option> 
           <option value="b">yadayada</option> 
</select> 
</body></html> 

任何想法?

回答

0

從JQM文檔

如果操作通過JavaScript一個選擇,你必須調用它的刷新 方法來更新視覺造型。下面是一個例子:

var myselect = $("select#test"); 
myselect.selectmenu("refresh"); 

或觸發此需要由JQM被處理的元件上。一旦文檔準備就緒,JQM將處理所有元素,即。當頁面加載時,你在這之後啓動這個彈出窗口,所以你必須明確地告訴jQM來處理這個代碼。

刷新應在magnificpopup將代碼插入DOM後檢查其提供的回調。我自己並沒有使用magnificpopup。

此外,請檢查jQM docs,並確保您遵循其如何使用select jQM方式的指導原則。

+0

試圖在magnificpopup回調無效的建議。 open:function(){ var myselect = $(「select#test」); myselect.selectmenu(「refresh」); }, – user3056498