Javascript 在一个页面上多次使用同一个JQuery输入框
我在rails应用程序中使用Jquery TokenInput来帮助用户快速输入信息。每个用户都有一个配置文件,上面有许多同一类的项目,称它们为大学项目。每个college_项目都有自己的编辑链接,该链接会弹出一个模式,其中包含该模式的相应编辑表单 我遵循Ryan Bates的屏幕广播,并使用以下代码使TokenInput正常工作: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
在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"
})
});
});