gpt4 book ai didi

javascript - 如何在模态对话框中获取选中的复选框行数据?

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

我在选择任何复选框时遇到问题,只有选定的行数据应该在模型对话框中可见。

  1. 但我的情况是,当我点击进程(它调用模型对话框)时,我会选择或不选择所有数据。
  2. 但在点击保存数据按钮(位于模型内部)后,数据会按照我的选择正确显示。
  3. 但我必须在点击保存数据按钮之前显示数据。

html code

<div class="row">
<div class="col-md-12">
<h1>OMR Duplicate Students List</h1>
<table id="example" class="table">
<tr>
<th><input type="checkbox" ng-click="vm.selectAll()"
/></th>
<th>Name</th>
<th>Mobile</th>
</tr>
<tr ng-repeat="data in vm.data">
<td><input type="checkbox" ng-model="data.selected"class="duplicateRow" /></td>
<td>{{data.name}}</td>
<td>{{data.mobileNumber}}</td>
</tr>
<tr>
<tr>
<button type ="submit" class="button pull-right" data-toggle="modal" data-target="#myModal">Process</button>
</tr>
</table>
<table class="table">
<tr>
<td colspan="4">
<pagination page-number='{{vm.pageNumber}}' page-count="{{vm.pageCount}}" total-records="{{vm.totalRecords}}" api-url="duplicate-student"></pagination>
</td>
</tr>
</table>
</div>
</div>
<div id="myModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">These Recods You are Selected</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<!-- <div ng-if="data.selected === 'true'"> -->
<table id="example" class="table">
<tr>

<th>Name</th>
<th>Mobile</th>
</tr>
<tr ng-repeat="x in vm.data">
<td>{{x.name}}</td>
<td>{{x.mobileNumber}}</td>
</tr>


</table>
<!-- </div> -->

</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" ng-click="vm.process()">Save Data</button>
</div>
</div>
<!-- /.modal-content -->
</div>

Java script code

  function StudentDuplicateAccountController($scope, ApiService, $routeParams, $http, $location, $timeout) {
var vm = this;
var page = $routeParams.page || 1;
vm.data = [];


vm.selectAll =function(){
angular.forEach(vm.data, function(data){
if (data.selected) {
data.selected = false;
} else {
data.selected=true;
}
});
}


vm.selectedUsers = [];


vm.process = function() {
vm.selectedUsers.splice(0, vm.selectedUsers.length);
vm.data.forEach(function(studentData){
if(studentData.selected) {
vm.selectedUsers.push(studentData);
}
})
console.log("selectedUsers:::::::::"+JSON.stringify(vm.selectedUsers))
if (vm.selectedUsers.length === 0) {
toastr.info('Selected atleast one record.', null, {
timeOut: 3000
})
return;
} else {
ApiService.save()
// some code
}
}

最佳答案

将模态 html 更改为

   <tr ng-repeat="x in vm.data" ng-if="x.selected">
<td>{{x.name}}</td>
<td>{{x.mobileNumber}}</td>
</tr>

禁用进程按钮

创建一个类似的函数

vm.isContainsSelected = function(){
return vm.data.some(function(d){return d.selected})
}

然后在处理按钮上

 <button ng-disabled="!vm.isContainsSelected()" >proceess</button>

关于javascript - 如何在模态对话框中获取选中的复选框行数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46581215/

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