不能 show/hide jtable jquery 字段取决于用户在编辑中的输入 window

cannot show/hide jtable jquery fields depending upon user input in edit window

我需要 show/hide jtable jquery 中的特定字段,具体取决于编辑 window (updateAction:) 中的选择。 我已经尝试通过 css show/hide 这样做,但它只显示/隐藏输入框,并且它留下了输入的标题,看起来很奇怪。

我真正想要的是隐藏整个“jtable-input-field-container”,但只隐藏特定的 field/input。

这是片段:

fields: {
contentType: {
                    title: 'Content Type',
                    list: false,
                    options: { '1': 'message', '2': 'Image'},
                    onchange : 'select_function(this)',
                    edit:true
                },
title: {
                    title: 'Title',
                    width: '8%',
                    edit:true
                },

             message: {
                    title: 'Message',
                    width: '8%',
                    list: true,
                    edit: true
                },

             imageurl: {
                    title: 'image URL',
                    width: '8%',
                    edit: true
                },
 ......

}

在这里我想要,如果 contentType 设置为图像,那么 imageurl 字段应该显示否则隐藏,在编辑 window 中,我们在 updateAction 下定义.

请帮忙。

我找到了一个解决方案,它运行良好:)。 我正在做的是基于选择,我遍历所有 .jtable-input-field-container' ,并检查 innerText 是否与字段标题中给出的相同。 基于此,我 hide/show div.

如果您确定字段的索引enter code here不会改变,则可以避免迭代。

代码片段:

function select_function(target){
    var myselect = target.value;
    if(myselect=='1')
    {       
        var data = $('.jtable-input-field-container');
        for (j = 0; j< data.length ;j++)
        {   
            console.log(j);
            console.log("+"+data[j].innerText+"+");
            if (data[j].innerText.indexOf("image URL") != -1)
            {
                $(data[j]).hide();
                console.log(data[j]);
            }
        }   
        console.log(data);
    }
    else
    {
        var data = $('.jtable-input-field-container');
        for (j = 0; j< data.length ;j++)
        {   
            console.log(j);
            console.log("+"+data[j].innerText+"+");
            if (data[j].innerText.indexOf("image URL") != -1)
            {
                $(data[j]).show();
                console.log(data[j]);
            }
        }
    }