2013-04-23 4 views
11

में जेक्वायरी डायलॉग पर सच है मैं कुछ jQuery संवाद विकसित कर रहा हूं और पाया कि जब मैं मॉडल सेट करता हूं तो संवाद छुपा हुआ था। मॉडल सेट करते समय: झूठी, मैंने पाया कि सब कुछ अपेक्षित काम करता है। उम्मीद है कि कोई मेरी मदद करे।डायलॉग ओवरले के पीछे छिपा हुआ था जब मॉडल: एएसपीनेट

<asp:Button ID="btnOpendialog" runat="server" Text="Button" ClientIDMode="Static" /> 

<div id="dialog"> 

<h1>Test</h1> 
    <asp:Button ID="btnClickfromDialog" runat="server" Text="Button" /> 

</div> 

$(function() { 
    $("#btnOpendialog").click(function (e) { 
     $("#dialog").dialog("open"); 
     return false; 
    }); 

    $("#dialog").dialog({ 
     height: 200, 
     modal: true, 
     autoOpen: false, 
     open: function() { 
      $(this).parent().appendTo($("form:first")); 
     }        
    }); 
}); 

उत्तर

14

मैंने इसे ठीक किया। ऐसे मुद्दे नहीं हैं जो इस मुद्दे के बारे में शिकायत कर रहे हैं। यह सिर्फ मैं हूँ? वैसे भी, यहां मैंने इसे कैसे तय किया है। जब आप जानते हैं कि काफी सरल है।

.ui-widget-overlay 
{ 
     z-index: 0; 
} 
+1

अच्छा है! मेरे लिए काम किया, हालांकि मुझे इसका उपयोग करना था! यह सुनिश्चित करने के लिए महत्वपूर्ण है कि इसे प्राथमिकता दी गई हो। –

+2

इस पृष्ठ पर आने वाले अन्य लोगों के लिए, जैसा कि @ एडी आर ने उल्लेख किया है, आपको नए एपीआई '$ ("। चयनकर्ता ") का उपयोग करना चाहिए। डियालॉग ({appendTo:" #someElem "});' – Homer

+0

एक पुरानी टिप्पणी है, लेकिन होमर द्वारा दिया गया समाधान अद्भुत है !!! –

-1

क्या आप अपने पर्यावरण के बाहर इस मुद्दे को फिर से बनाने के लिए जेएसफ़िल्ड बना सकते हैं?

तो जैसे एक दस्तावेज तैयार खंड के अंदर अपने जावास्क्रिप्ट रखो,:

$(document).ready(function() { 
// Your javascript here... 
}); 

बदलें btnOpendialog एक non-ASP.NET सर्वर नियंत्रण होने के लिए यदि नहीं, तो यहाँ मेरे सिर के ऊपर से कुछ विचार कर रहे । चूंकि यह सब jquery संवाद खोलता है, इसलिए सर्वर नियंत्रण होने की आवश्यकता नहीं है। इसे इस पर बदलें:

<input type="button" id="btnOpendialog" value="Button" /> 
+0

$ (function() {$ (दस्तावेज़) साफ .ready .. यह बटन को बदलने के लिए एक अंतर किसी भी तरह मैं asp.net बटन की जरूरत नहीं होगा के रूप में ही है के लिए धन्यवाद। आपकी मदद। मैंने इसे पहले ही तय कर दिया है। – lawphotog

+0

मुझे नहीं पता था कि वे एक ही चीज़ थे। साझा करने के लिए धन्यवाद! :) – ClearCloud8

6

आप इस तरह appendTo का उपयोग कर बंद करो और नया संवाद विकल्प "appendTo"

इस तरह उपयोग करने की आवश्यकता:

$(".selector").dialog({ appendTo: "#someElem" }); 

jQuery-ui प्रलेखन से लिया http://api.jqueryui.com/dialog/#option-appendTo

+0

हाय एडी .. मुझे इसके बारे में पता नहीं था। या यह एक नई बात है? कोई बात नहीं धन्यवाद। .. अच्छा है। – lawphotog

+0

हाँ, jQuery यूआई में :) –

6

मैंने स्वीकार्य उत्तर की कोशिश की और यह कुछ स्थितियों में काम करने के लिए दिखाई दिया, लेकिन दूसरों को नहीं। इसी विचार का उपयोग करना, इस कोड को मैं इस कोड के साथ आया था ...

.ui-dialog { z-index: 9999 !important; }

... जो तथ्य यह है कि .ui-widget-overlay की z- सूचकांक 9998 है पर आधारित है।

साथ ही, समस्या जहां ओवरले अपने पृष्ठ की पूरी ऊंचाई को कवर नहीं करता (.ui-widget-overlay के रूप में केवल 1000% की ऊंचाई है) ठीक करने के लिए, मैं इस के साथ आया था:

.ui-widget-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; }

+1

यह मेरे लिए काम किया! – CodeGuyRoss

+0

दोनों ओवरराइड ब्राउज़र में मेरे लिए काम करते थे - धन्यवाद प्रतिबंध-जियोइंजिनियरिंग। – PiggyMacPigPig

1

सभी मैं z-index:1ui-dialog पर लागू किया गया था। इस काम को करने के लिए कोई ui-widget-overlay पर लागू हो सकता था।

मैं इसे 'jquery', 'jquery-ui-core', 'jquery-ui-dialog' स्क्रिप्ट सहित वर्डप्रेस में कर रहा हूं। यहाँ मेरी प्रासंगिक सीएसएस है:

.ui-widget-overlay {  
    position: absolute; 
    top: 0; 
    left: 0; 
    width:100%; 
    height:100%; 
    background: #aaaaaa; 
    opacity: 0.3; 
}  

.ui-dialog {  
    background-color: #FFFFFF;  
    overflow: hidden; 
    z-index:1; 
} 
संबंधित मुद्दे