Help us understand the problem. What is going on with this article?

【jQuery】ボタンクリックしてテーブル内の値を取得したいとき

人生で初めて書くので汚いですが、許してください。
仕事でjQuery触っていてそこで詰まってしまい、解決するのに1週間。
メモ書き程度で書きます。

<td>で囲んだ<select>のValue値を取得

<td>タグで囲んだ<select>タグの値「text」だと取得できるのですが
「text」で書くと、Value値を根こそぎ取得して持ってくる。
一意の値を取得し、Json形式で取得してストアドに投げるってのをやりたくって。

環境

【jQuery】
version 7.2.5
ごめんなさい、バージョン忘れちゃったので後日かきます。

【PHP】
version 3.2.1
ごめんなさい、これもバージョン忘れちゃったので後日かきます。

【サーバー】
IISにて環境を構築

TABLEの中にボタンを設置。ボタン設置行と同じ行にある<select>のValueを取得

参考 : jQueryで、ボタンをクリックすると、同じtrタグにあるtd要素のtextをアラート表示したい。

上記、参考URLを参照してください。
回答者の方が下記の様な事を書かれていたので参考にしました。

リファレンスによると、
開始要素から最も近い親要素を選択します。
引数にセレクター書式を指定した場合、マッチする最も近い親要素を返します。
とのことですので、ボタンの親要素から、'td.name' 'tr td.name' にマッチする要素を探しますが、親にはないですよね
親要素から、children で子要素を探すせばいいでしょう。

最初に書いたコード

$(function(){
     $('button.setting').on("click",function(){
         $(this).children('td').eq(1).text()
     })
})

上記のコードだと、SelectのValue値を全部取得。
当たり前ですね。ここをVal()に変えると、なぜか値が取れない。
【8/7追記】
nameを一意の物に設定していないので取れなかった様な気がします。

参考URLを見て書いたコード

$(function(){
     $('button.setting').on("click",function(){
         $(this).closest('tr').children('td').find("select").val()
     })
})

次に書いたコードだと、親要素を一度指定して、それから子へ行き
更にfind()で「select」を絞り込んでval()をやっているので取れた。

ごめんなさい、仕事メモだったので急ぎで書きましたが
後日、修正します。ご指摘などありましたらお願い致します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした