Javascript 推特引导&x27;s提前键入和多个文本字段
我的应用程序处理标签和实体:多对多关系。加入实体的名称为“tagazation”。我希望用户能够添加标签,以每个电影在模态窗口。 因此,我在索引操作中为每部影片渲染隐藏的模式窗口。问题出现在tag_id字段中: 我在每个表单中都有twitter引导的TypeaHead文本字段。所有这些字段共享公共类“标记输入”。在textfield中选择事件时,启动set_id函数:Javascript 推特引导&x27;s提前键入和多个文本字段,javascript,jquery,ruby-on-rails,twitter-bootstrap,callback,Javascript,Jquery,Ruby On Rails,Twitter Bootstrap,Callback,我的应用程序处理标签和实体:多对多关系。加入实体的名称为“tagazation”。我希望用户能够添加标签,以每个电影在模态窗口。 因此,我在索引操作中为每部影片渲染隐藏的模式窗口。问题出现在tag_id字段中: 我在每个表单中都有twitter引导的TypeaHead文本字段。所有这些字段共享公共类“标记输入”。在textfield中选择事件时,启动set_id函数: $(document).ready(function() { function set_id(item, val, text){
$(document).ready(function() {
function set_id(item, val, text){
$(this).parent().children("#tagazation_tag_id").val(val);
}
$(".tags-input").typeahead({
source: [],
itemSelected: set_id
});
});
set_id函数应该以与触发回调的textfield相同的形式更改特定的隐藏字段,但是标记id有多个隐藏字段。如果我们知道set_id函数是为哪部电影启动的,这当然不是什么大问题
我相信,应该有一种“标准”的方法来解决这个问题,而不是我仍然不努力通过DOM树搜索来浏览。如果我理解您的意图,我认为最简单的解决方案是只将一个隐藏的模式对话框呈现为html,而不是为每部电影呈现一个模式对话框。在打开模式之前,可以使用javascript设置使模式引用已单击的电影所需的任何文本
如果您只有一个模式对话框,您可以将隐藏的标记id字段引用为
$(“#tagazation_tag_id”)
,而不会混淆它所指的输入。Eric,您完全正确地理解了它。是的,那是我的第一个想法。但我喜欢在页面生成阶段设置电影id,而不是JS。。。但现在我认为这是解决这个问题的最可行的方法,谢谢你!