我需要根据编辑窗口(updateAction :)中的选择显示/隐藏jtable jquery中的特定字段。 我试过通过css show / hide这样做,但它只显示/隐藏输入框,它留下输入的标题,看起来很奇怪。
我真正想要的是隐藏整个" jtable-input-field-container
",但仅针对特定字段/输入。
这是片段:
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
字段应显示为隐藏,在编辑窗口中,我们在updateAction
下定义。
请帮忙。
答案 0 :(得分:0)
我找到了一个解决方案,工作正常:)。 我正在做的是基于选择,我遍历所有.jtable-input-field-container' ,并检查innerText是否与字段标题中给出的相同。 基于此,我隐藏/显示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]);
}
}
}