Javascript 隐藏字段上的Dojo Onchange事件
我有一个下拉列表,它可能会也可能不会改变隐藏字段的值。变化由计算函数决定。 我想跟踪隐藏字段中的更改。如果有任何更改,我想选中一个复选框 如何做到这一点? 我无法更改我的HTML。因此,一切都在JS中处理Javascript 隐藏字段上的Dojo Onchange事件,javascript,html,events,dojo,nodelist,Javascript,Html,Events,Dojo,Nodelist,我有一个下拉列表,它可能会也可能不会改变隐藏字段的值。变化由计算函数决定。 我想跟踪隐藏字段中的更改。如果有任何更改,我想选中一个复选框 如何做到这一点? 我无法更改我的HTML。因此,一切都在JS中处理 <input type="hidden" name="03Text" value=""> 我使用dojo.query是因为表单中有许多这样的隐藏字段,我必须监视所有字段的值更改。*强调文本*我认为问题在于当您以编程方式更改隐藏字段的值时,onchange事件不会触发。您可以在更改
<input type="hidden" name="03Text" value="">
我使用dojo.query是因为表单中有许多这样的隐藏字段,我必须监视所有字段的值更改。*强调文本*我认为问题在于当您以编程方式更改隐藏字段的值时,onchange事件不会触发。您可以在更改字段值的同时手动触发此事件。我的示例使用dojo 1.10和on函数 HTML: Jsfiddle示例:
var w = dojo.query('[type$=hidden]');
w.forEach(function(node, index, nodelist){
dojo.connect(node , "onchange", function(evt){
controlapiObj.setControlAttribute(payload.srcFormId, payload.outputParams[0], true, "checked");
});
});
<input type="hidden" name="03Text" value="1">
<input type="hidden" name="03Text" value="2">
<input type="hidden" name="03Text" value="3">
require(["dojo/query", "dojo/on", "dojo/domReady!"], function(query, on){
var w = query('[type$=hidden]');
w.forEach(function(node, index, nodelist){
on(node, "onchange", function(){
console.log(node);
})
});
var event = new Event('onchange');
w[0].dispatchEvent(event);
w[1].dispatchEvent(event);
w[2].dispatchEvent(event);
})