2011-12-09 20 views
6

के साथ jquery लोड मैं एक अलग पृष्ठ पर div प्राप्त करने के लिए jquery लोड का उपयोग कर रहा हूं और इसे अपने पृष्ठ में डाल सकता हूं। somthing इस तरह:इनलाइन जावास्क्रिप्ट

$('#mydiv').load("/Pages/grid2.aspx" + " #otherpagediv"); 

अन्य पृष्ठ पर div में, वहाँ div में जावास्क्रिप्ट है। जावास्क्रिप्ट आ रहा है, केवल एचटीएमएल सामग्री। निर्दिष्ट div में सबकुछ पाने का कोई तरीका है?

+0

आप हमें DIV के जावास्क्रिप्ट कि लोड किया जाता है के साथ प्रदान कर सकते हैं? कोड प्रारंभिक है? – Theodore

उत्तर

0

JavaScript प्रतिक्रिया के साथ भी आना चाहिए। आपको यह सुनिश्चित करना होगा कि /Pages/grid2.aspx सर्वर पक्ष से आवश्यक प्रतिक्रिया भेजनी चाहिए। यूआरएल जिसे आपने load विधि में पास कर दिया है, इसमें एक स्थान है। मुझे लगता है कि आपको इसे सही करना चाहिए और इसे आजमाएं।

$('#mydiv').load("/Pages/grid2.aspx" + "#otherpagediv"); 
+0

यह वास्तव में 'लोड' फ़ंक्शन के डिज़ाइन द्वारा है। अंतरिक्ष का उपयोग पृष्ठ के एक हिस्से को लोड करने के लिए किया जाता है। –

+0

@Alexander - मुझे यह नहीं पता था, धन्यवाद जानना अच्छा है। – ShankarSangoli

2

documentation से:

नोट: जब .load बुला() एक प्रत्यय चयनकर्ता अभिव्यक्ति के बिना एक यूआरएल का उपयोग कर, सामग्री .html के लिए() पारित हो जाता है स्क्रिप्ट हटाया जा रहा से पहले। यह छोड़े जाने से पहले स्क्रिप्ट ब्लॉक निष्पादित करता है।

.load() हालांकि एक चयनकर्ता अभिव्यक्ति URL में संलग्न के साथ कहा जाता है, तो स्क्रिप्ट डोम अपडेट किया जा रहा, करने से पहले बाहर निकाल दिया जाता है जिसके कारण उन्हें फांसी दे कभी नहीं कर रहे हैं।

6

यह काम करता है:

$.get('/Pages/grid2.aspx', function (data) { 
    $('#mydiv').html($('<div></div>').html(data).find('#otherpagediv').clone()); 
}); 

लाइव डेमो:http://jsfiddle.net/FRbnD/4/show/light/

डेमो समझने के लिए, दोनों पृष्ठों है कि यह शामिल है, उनकी स्रोत कोड देखें:
डेमो के स्रोत कोड: http://jsfiddle.net/FRbnD/4/
"अन्य पृष्ठ" का स्रोत कोड: http://jsfiddle.net/MWkSj/1/

विचार अन्य पृष्ठ को $.get अनुरोध के माध्यम से पुनर्प्राप्त करना है, और उसके बाद #otherpagediv और क्लोन करें। फिर आप क्लोन को #mydiv पर जोड़ दें। यदि आप डीओएम में क्लोन डालते हैं और यदि उस क्लोन में एक एससीआरआईपीटी तत्व होता है, तो उस स्क्रिप्ट को निष्पादित किया जाएगा।

+0

यह निश्चित रूप से jQuery एपीआई पेज में जोड़ा जाना चाहिए! –

0

http://www.coursesweb.net/ajax/execute-javascript-code-ajax-response_t

आप इस पृष्ठ उपयोगी हो सकता है, मैं स्क्रिप्ट का इस्तेमाल किया है, इसे इस्तेमाल करता है eval()

// this function create an Array that contains the JS code of every <script> 
// then apply the eval() to execute the code in every script collected 
function parseScript(strcode) { 
var scripts = new Array();   // Array which will store the script's code 

// Strip out tags 
while(strcode.indexOf("<script") > -1 || strcode.indexOf("</script") > -1) { 
var s = strcode.indexOf("<script"); 
var s_e = strcode.indexOf(">", s); 
var e = strcode.indexOf("</script", s); 
var e_e = strcode.indexOf(">", e); 

// Add to scripts array 
scripts.push(strcode.substring(s_e+1, e)); 
// Strip from strcode 
strcode = strcode.substring(0, s) + strcode.substring(e_e+1); 
} 

// Loop through every script collected and eval it 
for(var i=0; i<scripts.length; i++) { 
try { 
    eval(scripts[i]); 
} 
    catch(ex) { 
    // do what you want here when a script fails 
    } 
} 
} 
संबंधित मुद्दे