附加后Jquery运行函数

时间:2015-04-28 23:46:05

标签: javascript jquery performance

我有一个表格,我附加表格数据。部分数据是一个复选框。如果变量(inspectFall)有1(已选中),我需要选中该复选框。下面的代码可以正常工作但是看起来很麻烦.each()调用。有不同的方式吗?记住没有点击任何东西,即使我发现也没有被触发(加载,模糊等)。它调用函数来检查框。谢谢!

.append($('<td>').addClass('smallBox').append($('<input>', {'class': 'centerText', 'name': 'inspectFall', 'type': 'checkbox'}).each( function() { checkBoxes($(this), inspectFall); } )))

1 个答案:

答案 0 :(得分:0)

您可以做的是将对象传递给checkBoxes()函数,如下所示:

.append($('<td>').addClass('smallBox').append ($('<input>', checkBoxes({'class': 'centerText', 'name': 'inspectFall', 'type': 'checkbox'}))))

然后在你的函数中,如果inspectFall有一个像这样的1,你可以扩展并返回对象:

function checkBoxes(obj) {
  return inspectFall == 1 ? 
    $.extend(obj,{ "checked" : "checked" }): 
    obj;
}

或者如果您需要将inspectFall变量作为参数传递,只需将其添加到函数调用中,如下所示:

.append($('<td>').addClass('smallBox').append ($('<input>', checkBoxes({'class': 'centerText', 'name': 'inspectFall', 'type': 'checkbox'}, inspectFall))))

和你的职能:

function checkBoxes(obj, inspectFall) {
  return inspectFall == 1 ? 
    $.extend(obj,{ "checked" : "checked" }): 
    obj;
}