2012-06-21 68 views
1

我想讓我的js爲我的網站工作,以便當用戶選擇一個文件上傳文件的兄弟的事件調用者的按鈕上的文字將改變。不幸的是,我無法讓它工作,並且由於我對js的經驗不足,我無法想出更好的方法。我最好的辦法是讓它工作,但每個有文件輸入的按鈕都改變了文字。有人可以幫我嗎?這裏是我的設置和我的咖啡代碼:Javascript - 更改事件對象的兄弟姐妹的文本

與FIX編輯:

在視圖:

.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!") 

在先進的感謝!

回答

0

idOfButtonSibling.text是一個函數

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

idOfButtonSibling是idOfInput的所有兄弟姐妹的陣列。在更改文本之前,您必須選擇一個元素。

我會建議您爲每個按鈕分配唯一的ID並使用它們來引用特定的按鈕。現在

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

,或者

$(idOfButtonSibling[1]).text = "Photo Selected!" 

$(idOfButtonSibling[2]).text = "Photo Selected!" 

等等...

+0

所有好:

試試這個,但是這不是一個好的做法,將更新以顯示我的結果,以防有人需要它未來! –