gpt4 book ai didi

javascript - 模态窗口内的 ng-grid 仅在模态第一次打开时起作用

转载 作者:行者123 更新时间:2023-11-30 06:25:46 25 4
gpt4 key购买 nike

我在模态窗口内有一个网格(必须在那里,因为我的客户真的想要那样),当模态第一次打开时,可以选择网格中的行,显示所选项目在父窗口的 div 中,一切似乎都很好,但是当模式窗口关闭并再次打开时,ng-grid 中的行被卡住,我无法取消选择旧行或选择新行。他的想法是,他可以通过选择或取消选择 ng-grid 中的行来添加或删除详细信息,但它只会添加,并且只是在模态窗口第一次打开时。

$scope.catalogOptions = {
data: 'catalog',
selectedItems: $scope.selectedDetails,
columnDefs: [
{ field: "Num", displayName: 'NUM', width:"10%"},
{ field: "Type", displayName: 'TYPE', width:"90%"}],
multiSelect: true,
afterSelectionChange: function(item, event){
if($scope.selectedDetails.length!=0){
$scope.sdetails=$scope.selectedDetails;
}
}
};
$scope.sdetails=null;

这是我在 Controller 中的 ng-grid 定义,我还必须说带有 ng-grid 的模态窗口是从另一个模态窗口调用的(我的客户要求的),基本上结构是“主页>添加记录模态>添加细节模态”,我正在使用这个插件http://jschr.github.io/bootstrap-modal/bs3.html并使用数据切换和 href 从按钮调用模式

我尝试做的事情是否可行? =(

最佳答案

您是否检查过 afterSelectionChange 方法被调用了多少次?如果您是第二次选择一行,则会调用两次此回调,一次针对先前选择的行,一次针对新选择的行。

    afterSelectionChange: function(item, event){
if(item.selected) { //<-- only execute the below for the selected row
if($scope.selectedDetails.length!=0){
$scope.sdetails=$scope.selectedDetails;
}
}
}

关于javascript - 模态窗口内的 ng-grid 仅在模态第一次打开时起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21214036/

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