通过Javascript动态添加Rails

Adding Rails dynamically via Javascript

本文关键字:Rails 添加 动态 Javascript 通过      更新时间:2023-09-26

我有一个rails表单,其中包含一个列表框

<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>

在用户选择一个TLO后,我想在TaskList分区中为Tasks动态创建另一个select标记。我在以下内部人员populateTask()函数中没有成功:

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

有人看到我做错了什么吗?

您是遇到异常还是没有按预期工作?看起来你的语法不正确。你可能在options_from_collection_for select(TLO.all, "id", "statement")中有多余的空间。试试这个:options_from_collection_for_select(TLO.all, "id", "statement")

此外,您的select_tag的结束符在哪里?