Laden...

Aktualisieren eines Elementes mittels Javascript

Erstellt von bafla13 vor 11 Jahren Letzter Beitrag vor 11 Jahren 484 Views
B
bafla13 Themenstarter:in
23 Beiträge seit 2012
vor 11 Jahren
Aktualisieren eines Elementes mittels Javascript

Hallo,

Mein Problem ist so,

In einer bestimmte Seite habe ich eine Partial view,und ich will beim Clicken auf einem Link diese Partielle view ändern,

meine Links sehen so aus:
[HTML]<a id="Id1" href="fff">show all </a>
]<a id="Id2" href="fff">Show first ten</a>
[/HTML]

und ich habe natürlich zwei Partiellenviews :einmal ShowAll und einmal ShowFirstTen

Außerdem habe ich ein Div erstellt,innerhalb dem würden diese View gerendert:

[HTML]<div class="PartailViewContainer"></div>[/HTML]

mittel javscript habe ich das folgende code eingetippt:


$(document).ready(function() {
    
    $('#Id1).click(function () {
        $.get("/ShowAll", {}, function (data) {
            $('.PartailViewContainer').replaceWith(data);
        }, "html");
        return false;
    });
    $('#ShowFirstTen).click(function () {
        $.get("ShowFirstTen", {}, function (data) {
            $('.PartailViewContainer').replaceWith(data);
        }, "html");
        return false;
    });
});
        

Also beim Clicken auf einem Link klappt das ganze und ich bekomme das view das ich haben möchte,

Problem ist nach dem ersten Click,wenn ich das mit einem anderen Link versuche klappt es nicht,d.h ich kann nich aktualieren.

könnte jemand bitte mir sagen warum geht das nicht ??
Vielen dank für eure hilfe 😃

M
402 Beiträge seit 2005
vor 11 Jahren

Hi..

das Problem liegt bei


 $('.PartailViewContainer').replaceWith(data);

http://api.jquery.com/replaceWith/

Du fügst den View nicht in den Div mit der Klasse "PartailViewContainer" ein sondern ersetzt diesen durch den View. Danach gibt es den Div natürlich nicht mehr und er kann nicht ersetzt werden...

Du könntest es mit


 $('.PartailViewContainer').html(data);

machen...

lg

B
bafla13 Themenstarter:in
23 Beiträge seit 2012
vor 11 Jahren

Superrr das hat geklappt,danke 😃