我有一个代码:
<table>
<tr>
<td>
<input type="text" value="1" />
<input id="button" type="button" value="Click me!" />
</td>
</tr>
</table>
我希望通过以下代码获得input[type="text"]
的价值,但它不起作用,请帮助我
<script type="text/javascript">
$(document).ready(function() {
$("#button").bind("click", function() {
alert($(this).siblings().find('input[type="hidden"]').val(););
});
});
</script>
答案 0 :(得分:3)
.find()
搜索儿童,因此您无法在此处使用它。只需使用siblings()
$(this).siblings('input').val()
答案 1 :(得分:2)
你需要找到不在兄弟姐妹后代的兄弟姐妹。
alert($(this).siblings('input[type="hidden"]').val());
答案 2 :(得分:2)
答案 3 :(得分:2)
第一个问题是你试图找到隐藏的输入,而不是基于文本的输入。您还需要将过滤器移动到兄弟姐妹调用中以使其正常工作,尽管您确实还有一个额外的分号:
$(document).ready(function() {
$("#button").bind("click", function() {
alert($(this).siblings('input[type="text"]').val());
});
});
请参阅JSFiddle
答案 4 :(得分:1)
在jQuery prev()
alert($(this).prev().val());
它得到了前一个兄弟姐妹。
答案 5 :(得分:1)
试试这个。
<script type="text/javascript">
$(document).ready(function() {
$("#button").bind("click", function() {
alert($(this).parent().find('input[type=text]').val());
});
});
</script>
答案 6 :(得分:1)
首先,您的输入类型为text
而不是hidden
。您正在Jquery中使用hidden
获取数据,如果隐藏它,则使用如下所示:
$(document).ready(function() {
$("#button").bind("click", function() {
alert($(this).siblings('input[type="hidden"]').val());
});
});
如果是文字:
$(document).ready(function() {
$("#button").bind("click", function() {
alert($(this).siblings('input[type="text"]').val());
});
});
答案 7 :(得分:0)
更改
alert($(this).siblings().find('input[type="hidden"]').val());
到
alert($(this).siblings().find('input[type="text"]').val());