4

テーブル行内の pic のクリック イベントに ajax 呼び出しが関連付けられています。写真がクリックされてクリック イベントが開始されたら、tdその行から 1 番目と 2 番目の要素を取得する必要があります。私はjQueryが初めてなので、以下にあるのは私の最新の試みです(機能していません..)。これらの行が実行された後、変数firstNamelastName両方が巻き上げられますundefined

        $('.checkErrors').click(function () {
            var firstName = $(this).parent('tr td:first-child').val();
            var lastName = $(this).parent('tr td:nth-child(2)').val();
            $.ajax({
                type: 'GET',
                url: '@Url.Action("GetErrors","AgentTransmission")',
                data: { term: $(this).attr('id') },
                .
                .
            });
          });

これはテーブルの行の例です。最後のtd要素の画像には.clickイベントが含まれています。テキスト「phinneas」と「ferbseven」を含む最初の 2 つを取得したいと思います。

<tr>
    <td>
        phinneas
    </td>
    <td>
        ferbseven
    </td>
    <td nowrap>
        7735        
    </td>
    <td>
        Agent
    </td>
    <td>
        SAF
        &nbsp;&nbsp
        07070900  
    </td>
    <td>
        6/5/2013 10:35:38 AM
    </td>
    <td>
        DANTAK
    </td>
    <td class="errorPlus">
        Error
    </td>            
    <td>

        <a href="/AgentTransmission/Details/2358">Details</a>           
            <span> | </span>
        <a href="/AgentTransmission/Edit/2358">Edit</a>        
    </td>
    <td align=center id=2358>
            <img src="/Content/images/magnify.gif" class="checkErrors" id=2358 alt="Program Details" />
    </td>
</tr>
4

3 に答える 3

6

使用するclosest

var $tr = $(this).closest(´tr´);
var firstName = $tr.find('td:first-child').text();
var lastName = $tr.find('td:nth-child(2)').text();

また、入力コントロールでのみ意味があるため、 for要素textの代わりに使用する必要があります。valtd

于 2013-06-07T17:38:04.497 に答える
2

まず、フォーム要素のみが.valプロパティ so を持っています。

.texttdなので使用することになっています

:eq疑似セレクターを使ってみる

var $tr;
$tr.find('td:eq(0)').text();

$tr.find('td:eq(1)').text();
于 2013-06-07T17:36:31.653 に答える
1

コンテンツを取得するには、次のようにします。

var cells = $(this).closest('td').siblings('td');
var firstName = cells.eq(0).text();
var firstName = cells.eq(1).text();

これらの最後の 2 行は、次のようにすることもできます。

var firstName = $(cells[0]).text();
var firstName = $(cells[1]).text();
于 2013-06-07T17:37:58.250 に答える