2016-03-29 14 views
2

ich Schienen Form haben, die eine ListBoxHinzufügen Rails dynamisch über Javascript

<div id = "tloList"> 
    <%= select_tag("task[tlo_ids][]", options_from_collection_for_select(TLO.all, "id", "statement"), :multiple => true, :onchange => "populateTasks()") %>. 
</div> 

<div id = "taskList"> 
</div> 

<script> 
    function populateTasks(){ 
    alert("CLICKED"); 
    } 

<script> 

Nachdem ein Benutzer eine TLO wählt enthält, möchte ich dynamisch einen anderen select-Tag für Aufgaben in der Tasklist div erstellen. Ich habe die populateTask() Funktion keinen Erfolg mit den folgenden Insidern hat von gehabt haben null Glück:

document.getElementById("taskList").insert(<%= select_tag("tlo[task_ids][]", options_from_collection_for_select(Task.all, "id", "statement"), :multiple => true %>); 

Hat jemand sehen, was ich falsch mache?

+0

besser vor rendern Sie Ihre Auswahl in dieser versteckten Taskliste, und nach dem Klick nur zeigen, ist der Fehler übrigens, weil "select_tag" ist nicht Javascript maskiert, was Javascript-Fehler erstellt –

Antwort

0

Erhalten Sie eine Ausnahme oder funktioniert es nicht wie erwartet? Es sieht so aus, als wäre Ihre Syntax ausgeschaltet. Sie können einen zusätzlichen Platz in options_from_collection_for select(TLO.all, "id", "statement") haben Versuchen Sie dies: options_from_collection_for_select(TLO.all, "id", "statement")

Auch, wo ist Ihre Schließung Parens für Ihre select_tag?

+0

Ich habe es bearbeitet. Meine Syntax und Semantik sind auf meinem Dev-Rechner korrekt. Das Problem ist also wieder das Javascript, nicht die Syntax und Semantik. –

Verwandte Themen