Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在一个页面上多次使用同一个JQuery输入框_Javascript_Ruby On Rails_Jquery Ui_Jquery - Fatal编程技术网

Javascript 在一个页面上多次使用同一个JQuery输入框

Javascript 在一个页面上多次使用同一个JQuery输入框,javascript,ruby-on-rails,jquery-ui,jquery,Javascript,Ruby On Rails,Jquery Ui,Jquery,我在rails应用程序中使用Jquery TokenInput来帮助用户快速输入信息。每个用户都有一个配置文件,上面有许多同一类的项目,称它们为大学项目。每个college_项目都有自己的编辑链接,该链接会弹出一个模式,其中包含该模式的相应编辑表单 我遵循Ryan Bates的屏幕广播,并使用以下代码使TokenInput正常工作: 在application.js中: $(function() { $("#education_major_tokens").tokenInput("/majors

我在rails应用程序中使用Jquery TokenInput来帮助用户快速输入信息。每个用户都有一个配置文件,上面有许多同一类的项目,称它们为大学项目。每个college_项目都有自己的编辑链接,该链接会弹出一个模式,其中包含该模式的相应编辑表单

我遵循Ryan Bates的屏幕广播,并使用以下代码使TokenInput正常工作:
在application.js中:

$(function() {
 $("#education_major_tokens").tokenInput("/majors.json", {
   theme: "facebook"
  })
});
我认为:

<%= f.text_field :major_tokens %>

我遇到的问题是,每个编辑表单中都会出现相同的字段,因此在第一个项目的编辑表单中,所有内容都可以正常工作,但在任何其他项目的编辑表单中,javascript都没有初始化。我的问题是,如何在每次出现这个表单元素时(而不仅仅是第一次)将javascript更改为初始化

编辑: 我认为这样的解决方案可能是:

$(function() {
 $("#education_major_tokens").each(function(){
   $(this).tokenInput("/majors.json", {
   theme: "facebook"
   })
  });
});
但这对我还是不起作用。有人有什么想法吗

编辑2:
终于弄明白了。请参见上面的编辑,只是我没有使用#教育#专业#标记,而是将每个输入设置为:class=>“专业#输入”,并将代码中的“#教育#专业#标记”更改为“.major#教育#专业#输入”

我认为这有点晚了,但尝试为您的标记字段分配一个类

<input class="yourtokenfield" type="text" />
我认为您的问题是由于类的名称不正确,请记住ID在HTML文档中只能出现一次

<input class="yourtokenfield" type="text" />
$(function() {
 $(".yourtokenfield").each(function(){
   $(this).tokenInput("/majors.json", {
   theme: "facebook"
   })
  });
});