Javascript 如何使用变量在coffeescript中设置jQuery选择器?

Javascript 如何使用变量在coffeescript中设置jQuery选择器?,javascript,jquery,ruby-on-rails,coffeescript,Javascript,Jquery,Ruby On Rails,Coffeescript,我正在写一个Rails应用程序,我在同一个页面上有多个表单,它们都有不同的ID。在coffee脚本中,我试图设置标识符以访问每个脚本中的文本区域。下面是一个html在浏览器中的外观的快速示例 HTML 因此,我首先初始化了plan\u id变量,然后将其设置为.links数据计划值。但是我的按键事件在文本区域不起作用,并且我在控制台中没有收到错误 当我创建一个测试链接和console.logit时 plan_id = 0 $(".link").click -> plan_id = $(

我正在写一个Rails应用程序,我在同一个页面上有多个表单,它们都有不同的ID。在coffee脚本中,我试图设置标识符以访问每个脚本中的文本区域。下面是一个html在浏览器中的外观的快速示例

HTML

因此,我首先初始化了
plan\u id
变量,然后将其设置为
.link
s数据计划值。但是我的按键事件在文本区域不起作用,并且我在控制台中没有收到错误

当我创建一个测试链接和
console.log
it时

plan_id = 0
$(".link").click ->
  plan_id = $(this).data("plan")
$("#test).click ->
  console.log(plan_id)
它在控制台中打印正确的
plan\u id
值很好,因此我必须在textarea标识符中做一些错误的事情。我做错了什么?谢谢

链接到JSFIDLE,注意按键事件是如何不起作用的 计划id=0 $(“.link”)。单击-> 计划id=$(此).data(“计划”) $(“.item字段”)。按键-> if$(this).data('plan')==计划id{ …一些代码。。。 您可以在文本区域中使用正则表达式而不是另一个
数据
标记,我只是懒惰;)


计划id=0
$(“.link”)。单击->
计划id=$(此).data(“计划”)
$(“.item字段”)。按键->
if$(this).data('plan')==计划id{
…一些代码。。。
您可以在文本区域中使用正则表达式而不是另一个
数据
标记,我只是懒惰;)


计划id=0
$(“.link”)。单击->
计划id=$(此).data(“计划”)
$(“.item字段”)。按键->
if$(this).data('plan')==计划id{
…一些代码。。。
您可以在文本区域中使用正则表达式而不是另一个
数据
标记,我只是懒惰;)


计划id=0
$(“.link”)。单击->
计划id=$(此).data(“计划”)
$(“.item字段”)。按键->
if$(this).data('plan')==计划id{
…一些代码。。。

您可以在文本区域中使用正则表达式而不是另一个
数据
标记,我只是懒惰;)

您的代码中发生的事情是在页面加载时应用按键绑定,因此它只在计划id仍然为0时应用一次。更新计划id时不会重新应用

我应该注意到这似乎是一件奇怪的事情,但是您需要将绑定放在click事件中

$("#plan_"+plan_id+"_item_field").keypress ->
  ...Some code...
要在每次触发单击事件时应用。 为此,必须正确缩进

plan_id = 0
$(".link").one 'click', ->
  plan_id = $(this).data("plan")
  $("#plan_"+plan_id+"_item_field").keypress ->
    ...Some code...
这样,当用户点击按钮任意次数时,就会将绑定应用于该按键。
这就是您试图实现的目标吗?

代码中发生的事情是,在页面加载时应用按键绑定,因此它只在计划id仍然为0时应用一次。当计划id更新时,它不会重新应用

我应该注意到这似乎是一件奇怪的事情,但是您需要将绑定放在click事件中

$("#plan_"+plan_id+"_item_field").keypress ->
  ...Some code...
要在每次触发单击事件时应用。 为此,必须正确缩进

plan_id = 0
$(".link").one 'click', ->
  plan_id = $(this).data("plan")
  $("#plan_"+plan_id+"_item_field").keypress ->
    ...Some code...
这样,当用户点击按钮任意次数时,就会将绑定应用于该按键。
这就是您试图实现的目标吗?

代码中发生的事情是,在页面加载时应用按键绑定,因此它只在计划id仍然为0时应用一次。当计划id更新时,它不会重新应用

我应该注意到这似乎是一件奇怪的事情,但是您需要将绑定放在click事件中

$("#plan_"+plan_id+"_item_field").keypress ->
  ...Some code...
要在每次触发单击事件时应用。 为此,必须正确缩进

plan_id = 0
$(".link").one 'click', ->
  plan_id = $(this).data("plan")
  $("#plan_"+plan_id+"_item_field").keypress ->
    ...Some code...
这样,当用户点击按钮任意次数时,就会将绑定应用于该按键。
这就是您试图实现的目标吗?

代码中发生的事情是,在页面加载时应用按键绑定,因此它只在计划id仍然为0时应用一次。当计划id更新时,它不会重新应用

我应该注意到这似乎是一件奇怪的事情,但是您需要将绑定放在click事件中

$("#plan_"+plan_id+"_item_field").keypress ->
  ...Some code...
要在每次触发单击事件时应用。 为此,必须正确缩进

plan_id = 0
$(".link").one 'click', ->
  plan_id = $(this).data("plan")
  $("#plan_"+plan_id+"_item_field").keypress ->
    ...Some code...
这样,当用户点击按钮任意次数时,就会将绑定应用于该按键。
这就是你想要实现的吗?

你基本上想要动态地将按键侦听器添加到你的文本区域,是吗?是的,我有多个rails添加的表单,我已经将它们的ID设置为各自的对象。我需要能够在我的咖啡脚本中动态地访问它们。我在这里复制了我的示例,你基本上想要知道Namily向您的文本区域添加一个按键侦听器,是吗?是的,我有多个rails添加的表单,我已经将它们的ID设置为各自的对象。我需要能够在我的咖啡脚本中动态访问它们。我在这里复制了我的示例,您基本上想要向您的文本区域动态添加一个按键侦听器,是吗?是的,我有由rails添加的多个表单,我已经将它们的ID设置为各自的对象。我需要能够在我的咖啡脚本中动态访问它们。我在这里复制了我的示例,您基本上想要动态地将按键侦听器添加到您的文本区域,是吗?是的,我有多个由rails添加的表单,我已经将它们的ID设置为各自的对象活动对象。我需要能够在我的咖啡脚本中动态访问它们。我在这里复制了我的示例好的,这解释了为什么它不能正确设置。我试图完成的是,当单击
.link
时,它会设置
计划id
,以便我可以选择正确的文本区域。我的文本区域id为
\pl一个_1_item_字段
,“
计划_2_item_字段
,…因为页面上有多个表单。我需要能够选择它们来执行按键时发生的一些代码。我将按键放在click事件中,这样做有什么好处吗