0

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

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

当用户点击一个单元格时: 1.单元格文本显示'none' 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!!!!!!!!!!!!!!
4

2 回答 2

0

我想你想做:

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

或使用上下文:

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

您还可以通过使用hide()show()不是手动更改 cssdisplay属性来节省一些输入

于 2013-09-29T17:49:50.800 回答
0

好的,我想通了...我可能没有清楚地说明问题。下面是我所做的。

$this.siblings().children('span').css('display' , 'inline');
    $this.parent('tr').siblings().children('td').children('span').css('display' ,       'inline');
于 2013-09-29T19:31:03.713 回答