Drop down menu 根据另一个单元格中的值禁用一个单元格(jqgrid)

Drop down menu 根据另一个单元格中的值禁用一个单元格(jqgrid),drop-down-menu,jqgrid,Drop Down Menu,Jqgrid,我有一个带有子网格的网格,可编辑为cellEdit。在这个子网格中,我有一列是dropdownlist。我要做的是,如果列表的选定值为“LIBRE”,则立即禁用网格中的其他两个单元格(仅在同一列中)。 我的工作如下(在子网格定义部分): 问题是:它正在工作,但只是在不同单元格中单击两次之后,这是因为在选定值更改之后,ret.nombreestadoe1的内容是: <select role="select" id="10_nombreestadoe1" name="nombreestadoe

我有一个带有子网格的网格,可编辑为cellEdit。在这个子网格中,我有一列是dropdownlist。我要做的是,如果列表的选定值为“LIBRE”,则立即禁用网格中的其他两个单元格(仅在同一列中)。 我的工作如下(在子网格定义部分):

问题是:它正在工作,但只是在不同单元格中单击两次之后,这是因为在选定值更改之后,ret.nombreestadoe1的内容是:

<select role="select" id="10_nombreestadoe1" name="nombreestadoe1"><option style="background-color: green;" value="1" role="option">LIBRE</option><option style="background-color: red;" value="2" role="option">OCUPADO</option><option style="background-color: purple;" value="3" role="option">ROTO</option><option style="background-color: grey;" value="0" role="option">SIN DEFINIR</option></select>
LIBREOCUPADOROTOSIN定义
单击其他位置后,它可以正常工作,因为列表中已经设置了正确的值

我怎样才能得到刚刚选中的内容


谢谢

我找到了该做的事。首先,我在第一个列表所在列的dataevents中的“change”函数中执行此操作。通过这种方式,我立即获得所选的值,检查它,并根据该值使用相同的代码禁用单元格。代码如下:

{name:"nombreestadoe1",stype:'select',searchoptions:    {dataUrl:'json/estadosHilos.jsp',searchhidden:true},editable:true,edittype:'select',editoptions:    {dataUrl:'json/estadosHilos.jsp',
                 dataEvents: [
               { type: 'change', fn: function(e) {
                        var grid=jQuery("#" + subgrid_table_idHilos);
                        var id=grid.jqGrid('getGridParam', 'selrow');

                        switch (e.currentTarget.selectedIndex){
                        case  0:
                                color="green";                                       
                                grid.jqGrid('setCell',id,'conectadoe1','','not-editable-cell');
                                grid.jqGrid('setCell',id,'puertohiloe1','','not-editable-cell');                                     
                                break;
                        case 1:
                                color="red";                                        
                                break;
                        case 2: 
                                color="purple";                                       
                                break;
                        case 3: 
                                color="grey";                                       
                                break;
                        default: 
                                color="white";                                       
                                break;
                    }
                    if(color!="green"){
                        var iCol = getColumnIndexByName(grid,"conectadoe1"),
                        tr = grid[0].rows.namedItem(id), 
                        td = tr.cells[iCol];
                        $(td).removeClass("not-editable-cell");
                        iCol = getColumnIndexByName(grid,"puertohiloe1"),
                        tr = grid[0].rows.namedItem(id),
                        td = tr.cells[iCol];
                        $(td).removeClass("not-editable-cell");
                    }

                    e.currentTarget.parentElement.style.backgroundColor=color;

                    }},
                ]},index:"nombreestadoe1",width:70,hidden:false
            },
{name:"nombreestadoe1",stype:'select',searchoptions:    {dataUrl:'json/estadosHilos.jsp',searchhidden:true},editable:true,edittype:'select',editoptions:    {dataUrl:'json/estadosHilos.jsp',
                 dataEvents: [
               { type: 'change', fn: function(e) {
                        var grid=jQuery("#" + subgrid_table_idHilos);
                        var id=grid.jqGrid('getGridParam', 'selrow');

                        switch (e.currentTarget.selectedIndex){
                        case  0:
                                color="green";                                       
                                grid.jqGrid('setCell',id,'conectadoe1','','not-editable-cell');
                                grid.jqGrid('setCell',id,'puertohiloe1','','not-editable-cell');                                     
                                break;
                        case 1:
                                color="red";                                        
                                break;
                        case 2: 
                                color="purple";                                       
                                break;
                        case 3: 
                                color="grey";                                       
                                break;
                        default: 
                                color="white";                                       
                                break;
                    }
                    if(color!="green"){
                        var iCol = getColumnIndexByName(grid,"conectadoe1"),
                        tr = grid[0].rows.namedItem(id), 
                        td = tr.cells[iCol];
                        $(td).removeClass("not-editable-cell");
                        iCol = getColumnIndexByName(grid,"puertohiloe1"),
                        tr = grid[0].rows.namedItem(id),
                        td = tr.cells[iCol];
                        $(td).removeClass("not-editable-cell");
                    }

                    e.currentTarget.parentElement.style.backgroundColor=color;

                    }},
                ]},index:"nombreestadoe1",width:70,hidden:false
            },