所以第一张图片就是我的页面。每当单击突出显示的按钮时,我都会尝试获取顶部表格的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,因为这些表和按钮会有动态数量。
答案 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'));
}