0

我想根据前一个单元格中的值显示/隐藏一个表格单元格。如果前一个单元格的值比显示其他隐藏。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 单元时,没有任何变化。有人可以指出我正确的方向吗?谢谢你。

4

2 回答 2

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() != ''

于 2012-10-30T07:49:33.547 回答
0

我认为您的代码是正确的,但可能 $('input[name^="OS"]').val() 为空。

于 2012-10-30T07:48:05.357 回答