Jquery ...单击另一个表格单元格后,单元格文本无法重新显示

时间:2013-09-29 17:41:28

标签: javascript jquery

我有一张桌子。它通过PHP显示来自MySQL的数据

我正在使用jquery动态地从用户那里获取数据。

当用户点击一个单元格时: 1.单元格文本显示'无' 2.检查单元格中的复选框

3.为用户输入显示的输入文本字段

当用户点击单元格(例如,到另一个单元格)时,我想要: 1.取消选中复选框 2.输入文本字段消失 3.和要重新显示的单元格文本

除了3.要重新显示的单元格文本外,我所有人都在工作。 当用户点击另一个单元格时,我需要显示单元格的原始文本

           $('#table9 tr td').click(function(){
        var $this = $(this);

    //checks checkbox of cell by default
    $this.children('input').prop('checked', true);

    //makes sure that checkboxes in other cells are not checked
    $this.siblings().children('input').prop('checked', false);
    $this.parent('tr').siblings().children('td').children('input').prop('checked', false);

    //hides current text in cell if cell is clicked
    $('span' , this).css('display','none');



    //displays a text field for input
    $this.children('.hiddenjqside').css('display' , 'inline');

    //hides input text field if user should click on another cell
    $this.siblings().children('.hiddenjqside').css('display' , 'none');
    $this.parent('tr').siblings().children('td').children('.hiddenjqside').css('display', 'none');


    //display the text of the current cell when user click another cell
    $('span' , this).siblings().css('display' , 'inline'); <---------NOT WORKING!!!!!!!!!!!!!!

2 个答案:

答案 0 :(得分:0)

我想你想做:

$this.siblings().find('span').css('display' , 'inline');

或使用上下文:

$('span' , $this.siblings()).css('display' , 'inline');

另外,您可以使用hide()show()而不是手动更改css display属性

来节省一些输入内容

答案 1 :(得分:0)

好的,我明白了......我可能没有清楚地说出这些问题。以下是我的所作所为。

$this.siblings().children('span').css('display' , 'inline');
    $this.parent('tr').siblings().children('td').children('span').css('display' ,       'inline');