获得同等级的价值元素?

时间:2013-09-12 07:47:23

标签: javascript jquery

我有一个代码:

<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>

8 个答案:

答案 0 :(得分:3)

.find()搜索儿童,因此您无法在此处使用它。只需使用siblings()

即可
$(this).siblings('input').val()

答案 1 :(得分:2)

你需要找到不在兄弟姐妹后代的兄弟姐妹。

  alert($(this).siblings('input[type="hidden"]').val()); 

答案 2 :(得分:2)

试试这个。

$("#button").click(function() {
            alert($(this).prev('input[type="text"]').val());
        });

演示Here

答案 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());
    });
});

Demo

答案 7 :(得分:0)

更改

alert($(this).siblings().find('input[type="hidden"]').val());

alert($(this).siblings().find('input[type="text"]').val());