需要帮助在ASP.NET Web窗体中使用jQuery遍历元素

时间:2016-04-15 20:41:52

标签: javascript c# jquery asp.net webforms

what my page looks like

enter image description here

所以第一张图片就是我的页面。每当单击突出显示的按钮时,我都会尝试获取顶部表格的ID(具有类trackingHistory和ID为ContentPlaceHolder1_ctl00_myRpt_ctl00_0_gdvTH_0的表格)。

现在我可以点击按钮并激活我的Javascript方法' ToggleHistory()'并使用jQuery获取我的按钮的ID。 (.attr(' id'))

但这就是我能得到的。我试过搞乱jQuery中的nearest()和prev()方法,但没有运气。任何帮助,将不胜感激。

javascript方法

<?php

// Try to get the amount of attempts from the POSTed data
$count = isset($_POST['count']) ? $_POST['count'] : 0;

if (isset($_POST['email'])) {
  $email = "website@test.com";

  if ($email != $_POST['email']) {
      $count++;
  }

  if ($count == 2) {
    header("Location: /error.htm");
  }
}

if ($count <= 2):
?>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Form</title>
    </head>

    <body id="main_body" >
        <div id="form_container">
            <h1><a>Form</a></h1>
            <form id="form_1123848" class="appnitro"  method="post" action="">
                <!-- Let the POST data know this is the x attempt -->
                <input type="hidden" name="count" value="<?php echo $count; ?>">

                <div class="form_description">
                    <h2>Form</h2>
                    <p> <input type="text" name="email" value="" /></p>
                </div>
                <ul>
                    <li class="buttons">
                        <input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" />
                    </li>
                </ul>
            </form>
        </div>
    </body>
</html>

<?php endif; ?>

我不想硬编码id,因为这些表和按钮会有动态数量。

1 个答案:

答案 0 :(得分:3)

<button><table>没有直接关系,但确实有<div>

<div>
  <table class="toggleHistory"></table>
</div>
<button type="button" onclick="ToggleHistory(this)">click here to hide</button>

<button><div>是直接兄弟姐妹,您可以使用.prev().next()之间进行浏览。

$(button).prev()...

然后,<div><table>.parent()和孩子(.children()):

$(button).prev().children('.trackingHistory');
function ToggleHistory(button)
{
    console.log(button);

    var $historyTable = $(button).prev().children('.trackingHistory');

    console.log($historyTable.attr('id'));
}