0

我正在使用 spark ui 表,我在每一行中都有单选按钮组(是和否)和 teaxtarea。我有多个行。

在此处输入图像描述

我的要求是,如果单击是,那么 textarea 应该只隐藏在该行中。我在 load 中写了下面的代码

var table = page.ui.get('/tablecv1/Table1');
var radiobtn = table.ui.getSibling('/tablecv1/Table1/Radio_Button_Group1');
radiobtn._instance.input.onchange = function(event){
    if(radiobtn.getData() == "yes"){
        radiobtn.ui.getSibling("Text_Area1").setVisible(true)
    }
    else{
        radiobtn.ui.getSibling("Text_Area1").setVisible(false,true)
    }
}

截至目前,代码仅适用于第一行。但是对于第二行,在更改按钮时它甚至没有进入该函数,原因可能是控件名称对所有人都是相同的。我该如何处理我应该能够在任何行中单击无线电 btn 并且应该隐藏特定文本区域的情况

4

1 回答 1

0

您可以将目标单选按钮传递给内联函数。那将是这样的:

this.setAreaVisibility = function(radiobtn) {
    radiobtn._instance.input.onchange = function(event){
        if(radiobtn.getData() == "yes"){
            radiobtn.ui.getSibling("Text_Area1").setVisible(true)
        }
        else{
            radiobtn.ui.getSibling("Text_Area1").setVisible(false,true)
        }
    }
}

然后在单选按钮元素的“On Change”事件中,您应该像这样调用此函数:

me.ui.invoke("setAreaVisibility", me);
于 2018-12-10T12:06:41.930 回答