gpt4 book ai didi

javascript - Angularjs 点击事件在 jqgrid 列中不起作用

转载 作者:行者123 更新时间:2023-11-28 01:47:08 24 4
gpt4 key购买 nike

我在 Angular JS 中使用 wijgrid 组件,遇到了无法在其上执行点击事件的问题。在 wijgrid html 组件未编译的情况下,找到 html 代码

<wij-grid  id = "dataGrid" allow-sorting="true" data="data" columns-autogeneration-mode="none" allow-paging="true" >
<columns>
<column data-key="name" header-text="Name"></column>
<column data-key="address" header-text="Address" ></column>
<column data-key="submit" header-text="Submit"></column>
</columns>
</wij-grid>

和我的 Angular js 代码

$http.get(url,data).success(
loadData);

function loadData(responseData) {
if (responseData != null) {
var data = responseData;
for (index = 0; index < data.length; index++) {
data[index].address = data[index].addressLineOne+","+data[index].addressLineTwo;
$SubmitBtn = "<a href='javascript:void(0);ng-click='submitCode("+data[index].reviewId+",true)'>Approve</a>"; data[index].submit=$ASubmitBtn;
}
$scope.data = data;
$("#content").wijtabs();
}
}
$scope.submitCode= function(id, status) {
alert(id+" "+status)
}

此处提交代码函数未调用,并且在查看源代码中该函数显示了 id 和状态。这意味着它未在 wijgrid 模块中编译,请帮助我提供解决方案。我尝试编译代码 $compile($sumitBtn)($scope) 但它不起作用,请建议我解决方案

最佳答案

Wijmo 已意识到此问题并表示这是一个已知错误。我正在使用的解决方法是这样的:

  $scope.cellStyleFormatter = function(args) {
if ((args.row.type & wijmo.grid.rowType.data) && (args.row.state & wijmo.grid.renderState.rendering)) {
var content = args.$cell[0].innerHTML;
//Here I have button html already in my grid data, using
//'my-link-class' css
if(content.indexOf("my-link-class") > -1) {
var scope = angular.element("#grid-container").scope();
args.$cell
.empty()
.append($(content).click(function () {
scope.myControllerClickHandler();
})
);
}
return true;
}
};

我像这样声明我的网格:

    <wij-grid  data="template.model.content" allow-editing="false" cellStyleFormatter="cellStyleFormatter">
<columns>
<column dataKey="col_0" ></column>
</columns>
</wij-grid>

我在上面使用 cellStyleFormatter 因为我可以将它全局应用到整个网格。如果您提前知道列,则可以使用 cellFormatter(我的应用程序的列数可变,因此这对我来说不是一个选择)。如果使用 cellFormatter,您将引用 args.container 而不是 args.$cell。

这里是 Wijmo 解释的链接:http://wijmo.com/topic/wig-grid-with-angularjs-how-to-handle-click-on-a-link-in-a-cell/

关于javascript - Angularjs 点击事件在 jqgrid 列中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20139329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com