2012-08-07 75 views
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()) 
      }); 


}); 

然而,它似乎无法设置的值。

+2

你或许应该被应用名称全部你的输入字段(如果你是ver实际上是想发布数据)。 – 2012-08-07 21:55:52

回答

2

您可以使用siblings()方法:

添加反正演示:http://jsfiddle.net/qZBkt/3/

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

closest()获取的选择相匹配,在当前元素开始,通过DOM树前进了第一个元素。

+0

根据最接近它应该工作的定义。 – AnonyMouse 2012-08-07 21:56:41

+1

@AnonyMouse否,最接近选择最接近的父。 – undefined 2012-08-07 21:57:40

+0

确实为此。我已经添加了演示,希望你对它很酷:P – 2012-08-07 21:58:03

1

或类似这样的:工作演示http://jsfiddle.net/qZBkt/

希望这会养活你的事业! :)

代码

$(function() { 

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


});​