質問: document.getElementById("button").value alert(a) } ``` 上記していますが、 実現したいことは、各行のボタンを押下すると、その行の値を出すようにしたいです。 疑問として、 1.上記のように動的にボタンのvalueの設定はできないのか? 2.他に各行のボタンを押下すると、その行の値を出す方法はあるか? 教えていただけると嬉しいです。
回答: ソース全文が提供されていないので、私がでっち上げたコードを提示します。 valueの値を取得したいとのことですが、行の値を表示する方がメインと思いましたので、そちらを実現するコードです。 table1行目のボタンを押すと[1]、2行目は[2]、3行目は[3]がalertおよびconsoleに表示されます。 ご覧の通り、rkgmpngnさんのコードとほぼ同じです。`value="{{i}}"`とすれば全く同じになります。 rkgmpngnさんのコードが期待通りに動作しないのは、quiquiさんの指摘にあるとおり、idが重複しているためです。 同じhtml内でidは複数存在してはいけません。idは必ずユニークにしてください。 idが重複したものをgetEelementByIDした場合、取得できる値はブラウザによると思いますが、rkgmpngnさんの環境では運良く最初の要素を取得できているんだと思います。 ``` # app.py from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): data = [1, 2, 3] return render_template('index.html', data=data) if __name__ == '__main__': app.run() ``` ``` Title {% for i in data %} {{ i }} {{ i }} {{ i }} ボタン {% endfor %} ``` 上記を実行すると出力されるhtml ``` Title 1 1 1 ボタン 2 2 2 ボタン 3 3 3 ボタン ```