2011-07-31 31 views
1
$(function() { 
    $(".form_new td select").change(function() { 
    alert($('#new_school').id) 
    }); 
}); 

我在我的應用程序中有上面的代碼。但它一直警告「未定義」。我究竟做錯了什麼? #new_school是一個文本框。我已經安裝了jquery。在我的public/javascripts文件夾中,我有jquery.js,jquery.min.js和jquery.ujs.js。我使用Rails 3.0.9jquery通過標識獲取元素問題

+0

你能發佈你的相關html嗎? –

回答

12

改變這一點:alert($('#new_school').id) 這個:alert($('#new_school').attr('id'))

+0

我認爲這將是正確的答案。 – Triztian

+0

現在。當元素「.form_new td select」的「更改」事件被觸發時,我想隱藏或顯示$('#new_school')。我將如何做到這一點?謝謝。 :) – neilmarion

+0

$('#new_school')。hide(); – kleinohad

1

試試這個:

alert($('#new_school').attr('id')) 
1

$( '#new_school')ATTR( '身份證')應該工作但這是無用的,因爲你必須事先知道id來選擇元素。

通常你只能做一些這樣的

var currentId = $(this).attr('id'); 

得到調用該事件

3

爲什麼它發生的對象ID:

$('#new_school').id
$('#new_school')回報Array的元素,並且id沒有在中定義0。
所以它會拋出一個undefined

你如何解決這個問題:

  1. $('#new_school')[0].getAttribute('id'),或
  2. $('#new_school').attr('id')
    .attr只能找到數組中的第一個元素的id,讀here
  3. $('#new_school')[0].id

PS:

PS:在你的腳本:alert($('#new_school').id)

id你發現是正確的,咄!