假设我们有一个yui3表格:
YUI().use("gallery-form", function (Y) {
var checkbox = new Y.CheckboxField({
name : "myCheckbox",
value : "check",
label : "Test Checkbox"
});
var f = new Y.Form({
boundingBox: '#form',
action : 'test.php',
method : 'post',
children : [
checkbox ,
{name : 'submitBtn', type : 'SubmitButton', value : 'Submit'}
]
});
f.render();
});
即。表单有很多复选框;我希望此表单上的每个复选框都为onchange="fn(this)"
Here's a small example of what i need.
NB 即可。不应修改第二行中的checkbox
。我正在寻找类似的东西:
form.all('input type=checkbox').on('change', fn(checkbox));
_
// where fn is:
function fn(el){ console.log(el.checked); }
P.S。
谢谢你提前;
答案 0 :(得分:1)
这个是一种危险的。我认为预期的方法是form.on('*:change', fn)
并过滤事件传播,但我找不到避免重复调用回调的方法。
因此,您可以使用表单的change
UI事件并执行:
form.on('change', function (e) {
var checkbox = e.domEvent.target;
console.log(checkbox.get('checked'));
});