2010-09-16 12 views
5

मेरे पास उन पृष्ठों की एक सूची है जो गतिशील रूप से इको स्टेटमेंट के साथ उत्पन्न होती हैं। उदाहरण:jquery ui संवाद और बाहरी सामग्री लोड करना

<a href="<?php echo $action['href']; ?>"><span onclick="jQuery('#category_edit_dialog').dialog('open'); return false"><?php echo $action['text']; ?></a> 

इस jQuery ui संवाद खिड़की बनाने के लिए कोड है:

$.ui.dialog.defaults.bgiframe = true; 
$(function() { 
    $("#category_edit_dialog").dialog({ 
     width: 960, 
     hide: 'slide', 
     autoOpen: false, 
    }); 

    $('#open_category_edit_dialog').click(function() { 
     $('#category_edit_dialog').dialog('open'); 
     return false; 
    }); 

}); 

मैं क्या हासिल करना चाहते हैं पल कि लिंक पर क्लिक होने पर एक jQuery ui संवाद सामग्री लोड होगा में है । तो सवाल यह है कि php से उत्पन्न बाहरी लिंक को लोड करने की संभावना अधिक है।

उत्तर

4

आपके पास एचआरईएफ int एंकर है, इसलिए आपको बस इतना करना है कि एचटीएमएल से लिंक प्राप्त करने के लिए jQuery लोड फ़ंक्शन का उपयोग करें और इसे अपने पृष्ठ पर रखें।

<a href="<?php echo $action['href']; ?>" class="dialogLink"><?php echo $action['text']; ?></a> 

आप इसे काम करने के लिए इस प्रकार के रूप में अपने जावास्क्रिप्ट को संशोधित कर सकता है:

अपने लिंक के लिए निम्न HTML (लंगर में है कि अजीब खुली हुई अवधि में मेरे लिए कोई मतलब नहीं था) मान लिया जाये कि

$.ui.dialog.defaults.bgiframe = true; 
$(function() { 
    $("#category_edit_dialog").dialog({ 
     width: 960, 
     hide: 'slide', 
     autoOpen: false 
    }); 

    $('a.dialogLink').click(function() { 
     var url = $(this).attr('href'); 
     $('#category_edit_dialog').load(url, function() { 
      $('#category_edit_dialog').dialog('open'); 
     }); 
     return false; 
    }); 
}); 

वे कुंजी ईवेंट संवाद लिंक के वर्ग के साथ लिंक पर बाध्य होने वाली कुंजी घटना है। यह उस URL को प्राप्त करेगा जब यह क्लिक किया जाता है, उस यूआरएल पर मिली सामग्री को लोड करें जो आपके पास पहले से मौजूद पृष्ठ पर मौजूद संवाद सामग्री div में है, और एक बार जब यह HTML हो तो यह संवाद खुल जाएगा।

+1

आदमी। मैं वास्तव में आपको धन्यवाद देता हूं! तुम आज मेरे हीरो हो! इसने एकदम जादू की तरह काम किया! एक बहुत ही सुरुचिपूर्ण तरीका :) – ciprian

4

jQuery का उपयोग करके आप सामग्री को लोड करने के लिए सर्वर पर AJAX कॉल करने के लिए लोड() फ़ंक्शन का उपयोग कर सकते हैं। सामग्री div मेरी उदाहरण में

$(document).ready(function(){ 
     $('#clicker').click(function(){ 
      $('#content').load('URL OF YOUR PHP PAGE'); 
      //start your dialog here 

     }); 

    }); 
बेशक

: यदि आप यह सब एक क्लिक करें घटना पर होने के लिए चाहते हैं तो आपको कुछ इस तरह कर सकते हैं:

HTML:

<a id="clicker" href="#">Click Here</a> 
<div id="content"></div> 

jQuery वह div है जिसे आप संवाद बनाने के लिए उपयोग कर रहे हैं। इस तरह जब उपयोगकर्ता लिंक पर क्लिक करता है, तो वे सर्वर से लोड की गई सामग्री के साथ संवाद को खोलते हैं।

+0

धन्यवाद! यह भी काम किया ... :) – ciprian

संबंधित मुद्दे