我可以使用onclick使用不同的参数附加几个子div吗?

时间:2014-05-19 19:51:23

标签: javascript jquery html

我想我可以正确解释一下。我有一个函数,我想用几个div上的onclick事件调用。

$scope.dataArray = [];  //array for holding values from another function

$scope.myFunction = function(id) {
    var val1 = id[0];
    var val2 = id[1];
}

我想将此函数分配给我附加到此函数内的父级的div上的onclick。

$scope.appendDivs = function (someData) {
    var result = someData;  // an array
    var parentContainer = document.getElementById('parent-container');
    for( var i = 0; i < result.length; i++)
    {
       var div = document.createElement('div');
       div.className = "child-element";
       parentContainer.appendChild(div);
       div.onclick = function() {
          $scope.myFunction(result.id);  //pass an array of data to myFunction
       };
       div.innerHTML = result[i].data1 + "<br>" + result[i].data2;
}

问题在于,当我单击div来激活oncl​​ick调用并调试以查看发生了什么时,$ scope.myFunction总是传递“result”的长度,其中没有定义任何内容。即长度为3的元素为0,1和2. myFunction试图查看结果[3]。有没有办法让每个div知道要传递给myFunction的元素?

1 个答案:

答案 0 :(得分:0)

我通过将我的值捎带到div.id上来解决我的问题。我不需要任何东西的div的id,我也能够摆脱dataArray。所以现在我可以将我需要的值传递给myFunction,并且它是被点击的div的相应值。谢谢你们的时间!