关于决策报表手动给控件值赋值和js赋值的区别

决策报表,通过JS事件对控件值A进行定时自动赋值,然后利用控件值A做参数查询的其他控件值并没有随之变化,但手动对A赋值时其他控件是有变化的

是否手动在文本框控件输入比JS事件赋值有不同的地方?

附上JS事件(初始化后)

var timer;

if (timer) {

clearTimeout(timer);

} else {

timer = setInterval(function() {

var TWN_parent = document.querySelector(

"div[widgetname='TWN']"

);

var WN_parent = document.querySelector(

"div[widgetname='WN']"

);

var TWN = TWN_parent.querySelector("input");

var WN = WN_parent.querySelector("input");

var TWN_value = TWN_parent.querySelector("input").value * 1;

var WN_value = WN_parent.querySelector("input").value * 1;

// 根据条件进行处理

if (WN_value < TWN_value) {

WN_value += 1;

} else if (WN_value === TWN_value) {

WN_value = 1;

}

console.log(WN.value,TWN.value);

WN_value=WN_value+"";

WN.value = WN_value;

WN.fireEvent('onchange');

WN_parent.fireEvent('onchange');

document.getElementById("WN").fireEvent('onchange');

document.getElementById("WN_parent").fireEvent('onchange'); 

WN.onchange();

WN_parent.onchange();

}, 3000);

}

JavaScript 不努力会很舒服 发布于 2023-9-22 00:36
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2024-6-4 20:55

加上这个就行了。因为你只是js赋值了。没有让它有一个编辑后的事件,所以不会联动,以下代码测试是可以的

this.options.form.getWidgetByName("date1").fireEvent("afteredit")//每个控件名称都加上这个事件

最佳回答
0
孤陌Lv6资深互助
发布于2023-9-22 07:40

JS触发不了参数联动的

最佳回答
0
快乐星光Lv5中级互助
发布于2023-9-22 09:15

js赋值触发不了参数联动,但可以在赋值后js点击某个按钮:_g().getWidgetByName("a").fireEvent("click");来实现手动点击的效果,你可以试试看

  • 4关注人数
  • 595浏览人数
  • 最后回答于:2024-6-4 20:55
    请选择关闭问题的原因
    确定 取消
    返回顶部