ユーザーがファイルを選択してアップロードするときに、イベントの呼び出し元の兄弟であるボタンのテキストが変更されるように、js を自分の Web サイトで機能させようとしています。残念ながら、私はそれを機能させることができず、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!")
ありがとうございます!