关于jQuery的一个简单问题。我是新手。当用户点击“span.fav”(明星)时,如何获得“post_id”的值?我想要父母的价值,而不是文件中的第一个。我认为最接近会有效吗?
html
<form action="index.php" method="post" accept-charset="utf-8">
<div class="hidden">
<input type="hidden" name="post_id" value="1000000019" />
<input type="hidden" name="xxxxxxx" value="xxxxxxxxxx" />
</div>
<p>
<span name="fav" class="fav">★</span>Post message here...<span class="author">by Thomas Quantas</span>
</p>
</form>
<form action="index.php" method="post" accept-charset="utf-8">
<div class="hidden">
<input type="hidden" name="post_id" value="1000000020" />
<input type="hidden" name="xxxxxxx" value="xxxxxxxxxx" />
</div>
<p>
<span name="fav" class="fav">★</span>Post message here...<span class="author">by Thomas Quantas</span>
</p>
</form>
我到目前为止的jQuery。
$(document).ready(function(){
$("span.fav").bind('click', function() {
//var test = $(this).parent();
//var test = $(this).closest();
var hidden_id = $(this).closest($("input[type='hidden']").attr('value'));
var hidden_id = $("input[type='hidden']").attr('value');
alert(hidden_id);
});
});
答案 0 :(得分:2)
尝试:
var hidden_value = $(this).closest('form').find('input:hidden[name="post_id"]').attr('value');
alert(hidden_value);
区别在于最接近:传递字符串而不是jQuery选择器。
答案 1 :(得分:1)
找到父母,然后从中进行后续搜索:
$('span.fav').click(function(){
var rel = $(this).parentsUntil('form').parent();
var hidden_id = $(rel).find("input[name='post_id']").val();
});
答案 2 :(得分:0)
你应该找到最接近的表格,并从表格
输入名为post_id的内容var hidden_id = $(this).closest("form").find("input[name='post_id']").val();