2010-03-09 8 views

Antwort

36

EDIT (zwei Jahre später): Bitte setzen Sie es nicht so, ich vorher beschrieben wurde, es ist eine totale Verschwendung als Tabellenzeilen haben bereits eine rowIndex Eigenschaft, so dass es einfach keine Notwendigkeit, etwas zu berechnen:

$('#selectElemID').live("change", function(){ 
    alert($(this).closest("tr")[0].rowIndex); 
}); 

Demo.

<silliness>

Dies sollte es tun, wenn Sie die Zeilennummer des aktuellen Auswahlelement wollen (das ist, was ich von der Frage zu verstehen):

$('#selectElemID').live('change', function(){ 
    alert($(this).closest("tr").prevAll("tr").length + 1); 
}); 

zu erklären:

$(this).closest("tr") 

bedeutet, wählen Sie das nächste übergeordnete Element tr dieses Select-Elements.

.prevAll("tr").length + 1 

bedeutet, dass alle vorherigen Zeilen markieren, und mir die Länge der zurückgegebenen Sammlung bekommen. Inkrementieren Sie es um eins, um die aktuelle Zeilennummer zu erhalten, denn wir sind bei insgesamt vorherige Zeilen + 1.

Für weitere Informationen:

</silliness>

+1

+1 für eleganc e :-) –

+0

@henchman, danke, mein Herr! – karim79

+0

danke dir so sehr! war auf der Suche nach diesem ..:) – Vicer

2

auch:

$('#selectElemID').live('change', function(){ 
    alert($(this).closest("tr")[0].rowIndex); 
}); 
Verwandte Themen