2017-08-08 6 views
0

Ich habe eine Ajax-Funktion ein Element auf der Uhr einer Schaltfläche neu zu laden, alle Neuladungen ist in Ordnung, einschließlich aller Stile und der Tabelle, in der die Objekte gerendert wird, mit der Ausnahme, dass nach Js Ajax Render das gerenderte Element seine bootstrap col-md-4 Klasse verliert.Warum verliert dieses Ajax-Rendering die Bootstrap-Spaltenbreite, die in einem Abschnitts-Tag festgelegt wurde?

Anfang der _quote.html.erb teilweise;

<section id="quote" class="col-md-4 text-center"> 

Schaltflächenelement in show.html.erb;

<button id="ReloadButton", data-remote='true' >Reload</button> 

show.js.erb;

$("#quote").html('<%= escape_javascript(render 'quote') %>'); 

Alle anderen Arten scheinen ganz gut, inc andere Bootstrap definiert Stile zu machen.

Irgendwelche Ideen, was hier vor sich geht?

+0

sieht so aus, als ob Sie dasselbe Element in sich selbst laden würden – charlietfl

+0

Sie legen den * Inhalt * des Elements '# quote' fest. Sie ersetzen nicht das gesamte Element, obwohl Sie genau das zu erwarten scheinen. –

+0

Was ich versuche zu tun, entschuldigen Sie die js amateur'ness, ist die Daten der Quote-Instanz innerhalb der gerenderten HTML, über AJAX-Server-Anfrage, nicht http Reload neu zu laden. Würde es einen besseren Weg dafür geben, als dass ich hacken würde? (Wenn ich mit meinem Code auf ReloadButton klicke, wird das gesamte #quote-Element neu geladen, aber ohne das col-md-4-Styling). – jbk

Antwort

0

Problem gelöst durch Verschieben der Klasse div Wrapper aus der _quote Teil und in die show.html.erb Vorlage.

Verwandte Themen