0
私はtd要素をクリックして行を選択してIDを取得し、URLにそれを配置したい次のコードtd要素から特定のIDを選択するにはどうすればよいですか?
type: 'GET',
dataType: 'json',
url: "http://api.football-data.org/v1/competitions/426/teams",
processData: true,
success: function (data, status) {
var trHTML = '';
$.each(data.teams, function (key, item) {
var id = item._links.self.href;
var indexOfLastBackSlash = id.lastIndexOf("/") + 1;
id = id.substring(indexOfLastBackSlash);
//$('<option>', { text: item.TeamName, id: item.ID }).appendTo('#lstTeams');
var $row = $("<tr>", { class: "info" });
$row.append($("<td>").html(item.name));
$row.append($("<td>").html(item.code));
$row.append($("<td>").html(item.shortName));
$row.append($("<td>").html(item.squadMarketValue));
$row.append($("<td>").html(item.crestURL));
$row.append($("<td>").html(id));
$row.appendTo($('#teamsTable'));
でjqueryのを使用して、APIからデータを引っ張っています。私はこれを試しました
$("#teamsTable").on('click', 'td', (function() {
//var id = $(this).attr("id");
//location.reload();
$.ajax({
type: 'GET',
dataType: 'jsonp',
crossDomain: true,
url: "http://api.football-data.org/v1/teams/" + id + "/fixtures",
しかし、それはテーブルからすべてのIDを選択するようです。いずれかのIDだけを取得する方法の任意の提案?
'$(this).closest( 'tr')'は最も近い行を取得します。 '.parent()'もここで動作します。より汎用性が高いので、 '.closest()'が好きです。基本的には、 'tr'が見つかるまで(DOMツリーの上に)検索を開始します。反対側は '.find(...)'であり、これは下向きに(ネストされたオブジェクトに)検索されます。 – nurdyguy
あなたのAPI呼び出し部分では、TRやTDにIDを割り当てないようです。私はそれが全体の行に適用される場合は、TRにIDを置くことをお勧めします。 ( '$ row.prop( 'id'、id);'のようなもの) – James