web-dev-qa-db-de.com

Wie erzwinge ich das Aktualisieren oder Neuladen einer Seite in jQuery?

Der folgende Code zeigt eine Google-Karte und Suchergebnisse an, wenn Sie eine Adresse eingeben und auf die Schaltfläche "Senden" klicken. Ich habe damit gespielt, um zu versuchen, die Seite zum vollständigen Aktualisieren oder Neuladen zu zwingen, sobald Sie auf die Schaltfläche "Senden" klicken. Aber ich kann es nicht richtig zum Laufen bringen. Die Ergebnisse werden "in Seite" geladen, aber ich möchte, dass die Seite beim Laden der Ergebnisse vollständig aktualisiert wird, z. B. wenn Sie in Ihrem Browser auf die Schaltfläche "Zurück" klicken. Hoffe das macht Sinn.

Ich denke, die Antwort liegt in dieser Codezeile, aber ich kenne mich nicht sehr gut aus. Es ist in der Nähe des unteren Randes des vollständigen Codes unten.

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

Hier ist der vollständige Code unten. Jede Hilfe wäre sehr dankbar!

<?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>';

?>
49
TimMac

Sie benötigen dazu jQuery nicht. Nutzen Sie die Leistungsfähigkeit von JavaScript.

window.location.reload()

Ersetzen Sie diese Zeile durch:

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

oder:

$("#someElement").click(function() {
    window.location.reload();
});
21
karim79

Oder besser

window.location.assign("relative or absolute address");

das funktioniert am besten in allen Browsern und Mobilgeräten

6
WiR3D

Ersetzen mit:

$('#something').click(function() {
    location.reload();
});
1
user1016195

Sie können die Ereignisse aktualisieren, nachdem Sie neue Ereignisse hinzugefügt haben, indem Sie den folgenden Code anwenden: - Geben Sie die Ereignisse frei. - Legen Sie die Ereignisquelle fest

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

Das wird das Problem lösen

1