2010-05-10 11 views
43

नीचे दिए गए कोड में एक Google मानचित्र और खोज परिणाम प्रदर्शित होता है जब आप कोई पता दर्ज करते हैं और सबमिट बटन दबाते हैं। मैं को आजमाने के लिए इसके साथ खेल रहा हूं और सबमिट बटन दबाए जाने के बाद पृष्ठ को पूरी तरह रीफ्रेश या पुनः लोड करने के लिए मजबूर करता हूं। लेकिन मैं इसे सही काम करने के लिए नहीं मिल सकता है। यह परिणाम "पृष्ठ में" लोड करता है, लेकिन परिणाम पृष्ठ लोड होने पर पृष्ठ को पूरी तरह ताज़ा करना चाहते हैं, जैसे कि जब आप अपने ब्राउज़र पर बैक बटन दबाते हैं। उम्मीद है कि समझ में आता है।jQuery रीफ्रेश या jQuery में पुनः लोड करने के लिए कैसे मजबूर करें?

मुझे लगता है कि उत्तर कोड की इस पंक्ति में है लेकिन मुझे jquery बहुत अच्छी तरह से पता नहीं है। यह नीचे दिए गए पूर्ण कोड के नीचे है।

<script type="text/javascript"> 
(function($) { 
    $(document).ready(function() { 
     load();'; 

यहां पूरा कोड है। किसी भी तरह की सहायता का स्वागत किया जाएगा!

<?php 
/* 
SimpleMap Plugin 
display-map.php: Displays the Google Map and search results 
*/ 
$to_display = ''; 

if ($options['display_search'] == 'show') { 
$to_display .= ' 
<div id="map_search" style="width: '.$options['map_width'].';"> 
    <a name="map_top"></a> 
    <form onsubmit="searchLocations(\''.$categories.'\'); return false;"   name="searchForm" id="searchForm"  action="http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'"> 
     <input type="text" id="addressInput" name="addressInput" class="address"  />&nbsp; 
     <select name="radiusSelect" id="radiusSelect">'; 

      $default_radius = $options['default_radius']; 
      unset($selected_radius); 
      $selected_radius[$default_radius] = ' selected="selected"'; 

      foreach ($search_radii as $value) { 
        $r = (int)$value; 
        $to_display .= '<option valu   e="'.$value.'"'.$selected_radius[$r].'>'.$value.' '.$options['units']."</option>\n"; 
      } 

$to_display .= '  
     </select>&nbsp; 
     <input type="submit" value="'.__('Search', 'SimpleMap').'"  id="addressSubmit" class="submit" /> 
     <p>'.__('Please enter an address or search term in the box above.',  'SimpleMap').'</p> 
    </form> 
</div>'; 
} 
if ($options['powered_by'] == 'show') { 
    $to_display .= '<div id="powered_by_simplemap">'.sprintf(__('Powered by %s  SimpleMap', 'SimpleMap'),'<a href="http://simplemap-plugin.com/"  target="_blank">').'</a></div>'; 
} 

$to_display .= ' 
<div id="map" style="width: '.$options['map_width'].'; height:  '.$options['map_height'].';"></div> 

<div id="results" style="width: '.$options['map_width'].';"></div> 

<script type="text/javascript"> 
(function($) { 
    $(document).ready(function() { 
     load();';  

     if ($options['autoload'] == 'some') { 
      $to_display .= 'var autoLatLng = new GLatLng(default_lat,  default_lng); 
      searchLocationsNear(autoLatLng, autoLatLng.lat() + ", " +  autoLatLng.lng(), "auto", "'.$options['lock_default_location'].'", "'.$categories.'");'; 
     } 

     else if ($options['autoload'] == 'all') { 
      $to_display .= 'var autoLatLng = new GLatLng(default_lat,  default_lng); 
      searchLocationsNear(autoLatLng, autoLatLng.lat() + ", " +  autoLatLng.lng(), "auto_all", "'.$options['lock_default_location'].'",  "'.$categories.'");'; 
     } 

$to_display .= ' 
    }); 
})(jQuery); 
</script>'; 

?> 

उत्तर

127

आपको ऐसा करने के लिए jQuery की आवश्यकता नहीं है। जावास्क्रिप्ट की शक्ति गले लगाओ।

window.location.reload() 

संपादित करें: यह जहां कुछ "jQuery जादू" जावास्क्रिप्ट की बुनियादी बातों में जो अक्सर सबसे सरल, सबसे तेज और सबसे सीधा कुछ करने के लिए तरीका है के बारे में सोच के बिना समस्याओं को हल करने की उम्मीद है का एक और उदाहरण है।

+0

window.parent.location.reload() –

+3

के लिए काम करता है न वाक्य रचना के अनुसार, कि हो would't: window.parent.window.location.reload()? https://developer.mozilla.org/en/DOM/window.opener खिड़की: –

+0

मैं MozDevNet की जाँच की और पता चला, कि "जनक" खिड़की ज्यादातर माता-पिता के माध्यम से सुलभ नहीं है, तो आपको निम्न विशेषता का उपयोग करने के लिए है। opener.locaten.reload() अच्छी विंडो। पैरेंट पहले से ही पैरेंट विंडो का संदर्भ देता है, क्योंकि माता-पिता टाइप विंडो का है। –

19

साथ कि लाइन बदलें:

$("#someElement").click(function() { 
    window.location.href = window.location.href; 
}); 

या:

$("#someElement").click(function() { 
    window.location.reload(); 
}); 
+0

अरे धन्यवाद दोस्तों। मैं इस सामान पर कुल नोब हूं लेकिन जब मैंने लोड() को बदल दिया; window.location.reload() के साथ; पृष्ठ लोड होने के पल में पृष्ठ लगातार ताज़ा होता है, और बंद नहीं होता है। क्या आप मुझे बता सकते हैं कि मैं परिवर्तन कहां कर सकता हूं? – TimMac

+0

ऑनसबमिट = "searchLocations (\ '। $ श्रेणियों।'\'); return false; अवास्तविक लौटाते " से छुटकारा" " –

+0

धन्यवाद, लेकिन मैं अभी भी एक अनंत ताज़ा पाश में हूँ मैं यह अधिकार क्या किया:।।

1

आप नीचे दिए गए कोड को लागू करके नए लोगों को जोड़ने के बाद की घटनाओं को ताज़ा कर सकते हैं: -Release घटनाक्रम सेट इवेंट स्रोत -Re-प्रदान घटनाक्रम

$('#calendar').fullCalendar('removeEvents'); 
        $('#calendar').fullCalendar('addEventSource', YoureventSource);   
        $('#calendar').fullCalendar('rerenderEvents'); 

कि समस्या का समाधान होगा

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