当表单的复选框发生变化时,yui3 fire功能

时间:2012-06-28 11:56:38

标签: yui yui3

假设我们有一个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。
谢谢你提前;

1 个答案:

答案 0 :(得分:1)

这个是一种危险的。我认为预期的方法是form.on('*:change', fn)并过滤事件传播,但我找不到避免重复调用回调的方法。

因此,您可以使用表单的change UI事件并执行:

form.on('change', function (e) {
  var checkbox = e.domEvent.target;
  console.log(checkbox.get('checked'));
});