2011-11-18 20 views
2

獲得ID我有一個index.php文件:錯誤不能打電話和其他JavaScript

$(document).ready(function(){ 
    $('#button').click(function(){ 
     var id = $(this).find('input:hidden').val(); 
     alert(id); 
     return false; 
    }); 
}); 

當使用srcipt.js得到從index.php的id爲結果 「未定義」

回答

2

用戶prev

var id = $(this).prev('input:hidden').val(); 

它在這裏工作:http://jsfiddle.net/MNDrg/

+0

感謝亞歷克斯非常 –

+0

只是想知道,爲什麼上一個過濾器?假設'this'是一個DOM元素,'$(this).prev'永遠不會返回多於1個元素。 – Esailija

+0

@Esailija,'只是基於它提供的html。 –

0

假設只有一個隱藏字段,你可以只使用$('input:hidden') $(this)並非絕對必要在這裏。

如果有更多的比一個你可能會考慮添加ID到每個隱藏的領域,並單獨引用它。

1

$(this)指的是按鈕本身。

如果你需要做這種方式,您可以使用下面的代碼:

$(document).ready(function(){ 
    $('#button').click(function(){ 
     console.log(this); 
     var id = $(this).parent().find('input:hidden').val(); 
     alert(id); 
     return false; 
    }); 
}); 
1

$(this).find只會尋找嵌套元素。

如果你需要找到所有的輸入:隱藏在同一水平上,使用$(this).parent().find('input:hidden')