0

Ajax呼び出し内で値tdを変更するために、テーブル内の前の要素を取得するにはどうすればよいですか?text

これは私がこれまでに持っているものです。要素を適切に取得して変数に配置していると思いますが、変更しようとしtdている要素のテキストをポップアップするアラートを取得tdできず、実際に試しているようにテキストを変更することはできませんする。

    function ChangeStatus(id) {
        var td = $(this).parent('td').prev();
        $.ajax({
            type: 'GET',
            url: '@Url.Action("changeStatus","AgentTransmission")',
            data: { id: id },
            dataType: 'json',
            success: function (data) {
                td.empty();
                td.html("Hold");
            }
        });
    }

編集

tdこれが私が取り組んでいる2つの要素です。ユーザーがイベントHold付きのリンクをクリックすると、前の要素のテキストを からにChangeStatus() onclick変更できるようにしたいと考えています。WaitingHold

<td>
Waiting
</td>
<td>
<a href="/AgentTransmission/Details/17">Details</a>           
    <span> | </span>
    <a href="javascript:void(0)" onclick="ChangeStatus(17)" >Hold</a> 
</td>
<td align=center id=17>
</td>
4

2 に答える 2

0

このようなものを取得してみてくださいtd

var td = $(this).closest('td');
于 2013-05-29T16:27:56.980 に答える
0

まず、parent() は最初の親のみを取得します。呼び出し元が dom の奥にある場合は取得できません。parent() を使用する必要がありますが、次のようなタグ名の代わりにクラスを使用することをお勧めします。

$(this).parents('td.myClass').prev();

以下も使用できます。

console.log(myString);

アラートの代わりに、Firefox で chrome または firebug を使用して、コンソールで結果を確認できます。

それが役に立てば幸い

于 2013-05-29T16:26:45.307 に答える