0

我有一些标记:

    <table>
    <tbody>
        <tr>
            <td>
                <input type="hidden" class="deleted" value="False" />
                <input type="button" class="rtButton" value="RT" />
            </td>                               
        </tr>
        <tr>
            <td>
                <input type="hidden" class="deleted" value="False" />
                <input type="button" class="rtButton" value="RT" />
            </td>                               
        </tr>
        <tr>
            <td>
                <input type="hidden" class="deleted" value="False" />
                <input type="button" class="rtButton" value="RT" />
            </td>                               
        </tr>
    </tbody>
</table>

我想要发生的是,当单击 rtButton 时,同一 td 中的隐藏输入的值更改为 true。

我试图通过以下方式实现这一目标:

$(function(){

    $('.rtButton').click(function () {
        $(this).closest('input.deleted').val("True");
        alert( $(this).closest('input.deleted').val())
            });


});

但是它似乎无法设置该值。

4

3 回答 3

2

您可以使用siblings()方法:

无论如何添加演示:http: //jsfiddle.net/qZBkt/3/

$(function(){
    $('.rtButton').click(function () {
        $(this).siblings('input.deleted').val("True");
    });
});

closest()获取与选择器匹配的第一个元素,从当前元素开始,向上遍历 DOM 树。

于 2012-08-07T21:54:15.127 回答
1

或像这样:工作演示 http://jsfiddle.net/qZBkt/

希望这能满足你的事业!:)

代码

$(function() {

    $('.rtButton').click(function() {
        $(this).parent().find('.deleted').val("True");
        alert($(this).parent().find('.deleted').val());
    });


});​
于 2012-08-07T21:57:24.610 回答
0

.closest()在祖先元素中搜索匹配,使用.prev().siblings()选择输入

$(function(){

    $('.rtButton').click(function () {
        $(this).prev('input.deleted').val("True");
        alert( $(this).siblings('input.deleted').val())
            });


});

http://jsfiddle.net/naaeM/1/

于 2012-08-07T22:03:18.880 回答