Javascript-更改事件对象上的文本';兄弟姐妹

Javascript-更改事件对象上的文本';兄弟姐妹,javascript,ruby-on-rails,coffeescript,haml,Javascript,Ruby On Rails,Coffeescript,Haml,我试图让我的js为我的网站工作,这样当用户选择一个文件来上传按钮上的文本时,事件调用者的兄弟将发生变化。不幸的是,我不能让它工作,因为我在js的经验不足,我不能想出一个更好的方法。我最好的方法是让它工作,但是每个有文件输入的按钮上的文本都发生了变化。有人能帮我吗?这是我的设置和咖啡代码: 使用修复进行编辑: 他认为: .assets-fields.pull-left.span3 - count=0 = f.simple_fields_for :assets do |builder|

我试图让我的js为我的网站工作,这样当用户选择一个文件来上传按钮上的文本时,事件调用者的兄弟将发生变化。不幸的是,我不能让它工作,因为我在js的经验不足,我不能想出一个更好的方法。我最好的方法是让它工作,但是每个有文件输入的按钮上的文本都发生了变化。有人能帮我吗?这是我的设置和咖啡代码:

使用修复进行编辑:

他认为:

.assets-fields.pull-left.span3
  - count=0
  = f.simple_fields_for :assets do |builder|
    - if builder.object.new_record?
      .file-wrapper.pull-left
        .btn.btn-warning
          %span.icon-camera
          .photo-text{:id => "asset_#{count}"} Choose a Photo
          - count = count + 1
          = builder.file_field :photo
在我的js.coffee中:

$ ->
  $("input:file").change (event) ->
    idOfInput = event.target.id
    console.log idOfInput
    idOfSibling = $('#' + idOfInput).prev().attr('id')
    console.log idOfSibling
    $('div#' + idOfSibling).text("Photo Selected!")

提前感谢

idOfButtonSibling.text
是一个函数

$(idOfButtonSibling).text("Photo Selected!")

idOfButtonSibling是idOfInput的所有同级的数组。在更改文本之前,必须选择单个元素

我建议您为每个按钮分配唯一的ID,并使用它们来引用特定的按钮

试试这个,但这不是一个好的做法:

$(idOfButtonSibling[0]).text = "Photo Selected!"
或者


等等…

现在一切正常,将更新以显示我的结果,以防将来有人需要它!
$(idOfButtonSibling[1]).text = "Photo Selected!"
$(idOfButtonSibling[2]).text = "Photo Selected!"