js:克隆对象的复选框没有检查属性?

时间:2013-01-21 15:19:03

标签: javascript jquery checkbox clone attr

首先,对不起,我不知道如何以不同的方式提出我的问题......

想象一下包含多个订单商品的客户订单表单。

为了更轻松,更快速地处理表单,我们提供了复制订单商品的功能。这种情况发生在克隆功能和工作。必须在克隆对象之前更改某些onclick属性。例如:

// tr is an tr element of a table
$(":input[type=checkbox]", tr).each(function() {
    $(this).removeAttr("onclick").click(function() {
        func($(this));
    });
});

功能:

function func(chkbx)
{
    if (chkbx.checked) {
        // do stuff...
    } else {
        // do other stuff...
    }
}

现在问题: 当原始tr对象调用该函数时,一切正常,但是当克隆/复制的tr调用该函数时,它总是进入else分支。

我当然检查了传递的对象。从原始tr对象传递它是一个预期的HTMLInputElement,但是从克隆的那个它是一个“普通”对象。奇怪的是,当我检查他们是否有“已检查”属性时,没有人拥有它......

我只是希望函数能够正常运行克隆对象..

我希望有人可以帮助,每个人都了解我:D 感谢


更新:问题解决了:

$(chkbx).prop("checked")

而不是

chkbx.checked

但我想知道为什么attr()函数确实导致了未定义的?

0 个答案:

没有答案