4

データベースのマスター テーブルと子テーブルの 2 つのテーブルがあります。マスター テーブルの 6 列目の各行には、その行のデータで詳細テーブルを更新するリンクがあります。現在の行が強調表示されます。行番号を保持する最初の TD で特定の値をマスター テーブルの各 TR を検索する詳細テーブルにボタンがあり、値が現在の行番号 + 1 に等しい場合、次のコードが実行されます。

$("tr").each(function() {
    var nextRownum = $(this).find("td[headers='COL01']").text();
    if (parseInt(nextRownum) == parseInt(currentRownum) + 1) { 
        $(this).find("td[headers='COL06']").find('a').click();
    }
});

$(this) は TR です。ページの読み込み時に次のコードを実行しているため、これがある程度機能することはわかっています...

$("td[headers='COL06']").find('a').each(function(){
    $(this).click(function(){HighLight(this);});
});

...ボタンをクリックすると、次の行が強調表示されますが、ページは更新されません。つまり、6 列目のハイパーリンクがアクティブ化されていません。

助言がありますか?ありがとうございました; マシュー・モイセン

4

1 に答える 1

1

.clickデフォルトでは、アンカーにはありません。あなたはこれを行うことができます

window.location.href=$(this).find("td[headers='COL06'] a").attr('href');
// NB you won't ever need to .find().find()           ^

または、選択したアンカーにクリックイベントを与えて、それらをトリガーできるようにすることができます

<a href="http://www.google.com/" target="_blank" class="icanhasclick">Woo</a>

$('a.icanhasclick').on('click', function(){
    window.location.href=this.href;
});

$(this).find("td[headers='COL06'] a").click();
于 2013-01-11T00:13:07.863 に答える