質問: 一覧から選択した行の行番号を取得について はじめまして。 一覧を表示させて一覧の先頭の選択ボタンを押したした行の行番号の取得し、その行にシステム日付を表示させたいのですが、うまくいきません。 現在は、btn_selectにalertを入れて選択した行の番号が取得できたかどうか確認したところ、取得できず%{#stat.index}が出力されてしまいます。 どのようにすればボタンを押した行の行番号の取得及びその行のある項目にシステム日付を表示させることができますか?。 宜しくお願いします。 <%@ page contenttype="text/html; charset=utf-8" %> <%@ page pageencoding="windows-31j" %> <%@taglib prefix="s" uri="/struts-tags" %> <%@taglib prefix="original" uri="/original-tags" %> <%@taglib prefix="originally" uri="/original-ly-tags" %> <%@ include file="html-head.jsp" %> function btn_select(indx) { alert (indx); } <%@ include file="headertitle.jsp" %> | 選択 | a | b | c | d | | --- | --- | --- | --- | --- | | | | | | | |
回答: まず、目的の 「一覧を表示させて一覧の先頭の選択ボタンを押したした行の行番号の取得し、その行にシステム日付を表示させたい」 の達成方法についてですが、 行番号を取得する必要はありません。 次に質問内容についてですが、 (1)行番号の取得方法 trタグのエレメントには、rowindexというプロパティが用意されています。 それを用いれば行番号を取得できます。 方法としましては、ボタンのinputタグから親の親のtrタグを参照します。 具体例を下記に示します。 適当にテキストエディタにコピペして動きを確認してみてください。 ********** rowindex test | | | --- | | | | | ********** alertの中身についての説明を少々致します。 this・・・inputタグ自身をさす。 this.parentnode・・・inputタグの親のタグの、tdタグをさす。 this.parentnode.parentnode・・・inputタグの親の親のタグの、trタグをさす。 (2)ボタンが押された行ある項目にシステム日付を表示する方法 こちらの質問に関しましては 上記(1)を一部利用します。 trタグから対象となるtdタグを参照します。 具体例 ********** rowindex test | | | | --- | --- | | | | | | | ********** 少々説明を致します。 childnode[n]・・・そのタグのn番目の子のタグを参照します。 nは、ieでは0から、firefoxでは1からです。 このソースではchildnodes[1]となっているため、ieでは左から2セル目に格納されます。 firefoxでは一番左のセルに格納されます。(ボタンは消えます)