如何根据它具有的类更改隐藏值

时间:2012-08-07 21:51:58

标签: jquery html

我有一些标记:

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


});

但似乎无法设置值。

3 个答案:

答案 0 :(得分:2)

您可以使用siblings()方法:

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

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

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

答案 1 :(得分:1)

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

希望这能满足您的需求! :)

<强>码

$(function() {

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


});​

答案 2 :(得分: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/