我想根据前一个单元格中的值显示/隐藏表格单元格。如果前一个单元格的值大于show else hide。 Jquery应该为每一行评估这个。我现在有以下代码:
jQuery(document).ready(function() {
jQuery('input[name^="OS"]').hide();
jQuery('input[name^="OF"]').on('keyup', function(){
jQuery('table#form_er tr').each(function(){
if(!jQuery('input[name^="OF"]').val()){
jQuery('input[name^="OS"]').hide();}
else {jQuery('input[name^="OS"]').show();}
});
});
});
现在的结果是,即使OF填充,所有OS单元都被隐藏,如果我填充空OF,所有OS单元都显示出来,当我清除OF单元时没有任何变化。 有人能指出我正确的方向吗?谢谢。
答案 0 :(得分:0)
我认为您的代码是正确的,但可能是$('input [name ^ =“OS”]')。val()为空。
答案 1 :(得分:0)
尝试使用 jQuery(this)和最近('tr')来定位当前行中的单元格。
jQuery(document).ready(function() {
jQuery('input[name^="OS"]').hide();
jQuery('input[name^="OF"]').on('keyup', function() {
jQuery('table#form_er tr').each(function() {
if (jQuery(this).val() != '') {
jQuery(this).closest('tr').find('input[name^="OS"]').hide();
}
else {
jQuery(this).closest('tr').find('input[name^="OS"]').show();
}
});
});
});
如果您要定位的单元格是下一个单元格..那么您也可以这样做..
jQuery(this).closest('td').next('td').find('input[name^="OS"]').hide();
修改强>
将!jQuery(this).val()
替换为 jQuery(this).val() != ''