Добавьте флажок в каждой строке для jquery с данными, используя angular.js

Я хочу отображать некоторые данные в формате datatable с помощью angular js.

Итак, я сделал что-то вроде ниже.

Угловой

<script src = "~/Scripts/jquery.js"></script>
<script src = "~/Scripts/jquery.dataTables.min.js"></script>
<script src = "~/Scripts/angular.js"></script>
<script src = "~/Scripts/angular-datatables.js"></script>

var app = angular.module('myapp', ['datatables']);
app.controller('homectrl', ['$scope', '$http', 'dtoptionsbuilder', 'dtcolumnbuilder',
    function ($scope, $http, dtoptionsbuilder, dtcolumnbuilder) {
        $scope.dtcolumns = [
            //dtcolumnbuilder.newcolumn("action", "action"),
            dtcolumnbuilder.newcolumn("objectid", "id"),
            dtcolumnbuilder.newcolumn("service_code", "service code"),
            dtcolumnbuilder.newcolumn("cond1", "condition 1"),
            dtcolumnbuilder.newcolumn("cond2", "condition 2"),
            dtcolumnbuilder.newcolumn("cond3", "condition 3"),
            dtcolumnbuilder.newcolumn("service_type", "service type"),
            dtcolumnbuilder.newcolumn("remark", "remark"),
            dtcolumnbuilder.newcolumn("description", "description")
        ]
        $scope.dtoptions = dtoptionsbuilder.newoptions().withoption('ajax', {
            url: "/home/getdata",
            type: "post"
        })
        .withpaginationtype('full_numbers')
        .withdisplaylength(10);
    }])
<div ng-app = "MyApp" class = "container" ng-controller = "homeCtrl">

    <div ng-controller = "homeCtrl">
        <table id = "entry-grid" datatable = "" dt-options = "dtOptions" dt-columns = "dtColumns" class = "table table-hover">           
        </table>
<br />
    </div>

И Контроллер

public ActionResult getdata()
    {
        DataTable dt = new DataTable();
        using (OracleConnection conn = new OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnAPP_NEIQC"].ToString()))
        {   
            GetData objGetData = new GetData();
            dt =  objGetData.GetDataForGrid();

            var circleList = (from DataRow dr in dt.Rows
                           select new 
                           {         
                               //Action = "",
                               OBJECTID = Convert.ToString(dr["OBJECTID"]),
                               SERVICE_CODE = Convert.ToString(dr["SERVICE_CODE"]),
                               COND1 = Convert.ToString(dr["COND1"]),
                               COND2 = Convert.ToString(dr["COND2"]),
                               COND3 = Convert.ToString(dr["COND3"]),
                               SERVICE_TYPE = Convert.ToString(dr["SERVICE_TYPE"]),
                               REMARK = Convert.ToString(dr["REMARK"]),
                               DESCRIPTION = Convert.ToString(dr["DESCRIPTION"]),
                           }).ToList();

            return Json(circleList, JsonRequestBehavior.AllowGet);
        }
    }

Теперь я хочу добавить CHECKBOX в каждую строку, чтобы я мог редактировать и обновлять его запись. Есть ли кто-нибудь, кто может мне помочь с этим в angular.

Вы хотите добавить новые строки и опубликовать или отредактировать существующие строки с помощью флажка?

Majedur 15.01.2019 11:20
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
1 134
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это тот? Выбранный плагин. withSelect

да, этот .. но его не выбирают. а также что, если я хочу выделить все сразу ??

hud 15.01.2019 12:34

Да посмотрите на это ..rowSelect

yujinpan 16.01.2019 02:21
Ответ принят как подходящий

Как упоминал yujinpan, вы можете использовать расширение select. Или просто установите флажок самостоятельно:

$scope.dtcolumns = [
  dtcolumnbuilder.newcolumn(null, '').renderWith(function(data, type, full)
     return '<input type = "checkbox" class = "check" data-object-id = "'+full.objectid+'">'
  }),
  dtcolumnbuilder.newcolumn("objectid", "id"),
  ...
]

Теперь вы можете связать делегированные обработчики событий с флажками через класс .check.


Используйте dtInstance, как описано в здесь или в документации здесь (см. Внизу страницы). Теперь вы могли бы сделать что-то вроде

$('#entry-grid').on('click', '.check', function() {
   var data = $scope.dtInstance.DataTable.row($(this).closest('tr')).data()
})

Я поставил галочку по мере необходимости. Теперь, как добавить заголовок и установить флажок, чтобы получить данные текущей строки? любая идея, сэр. Спасибо за полезный ответ

hud 15.01.2019 12:28

Нет никаких предупреждений для alert(data); ?? как проверить, что значения поступают правильно

hud 15.01.2019 12:51

также появляется ошибка как Uncaught TypeError: Cannot read property 'DataTable' of undefined

hud 15.01.2019 12:52

@BN, вы использовали обратный вызов для установки dtInstance? Используйте последний пример в связанном потоке SO -> stackoverflow.com/a/50624700/1407478

davidkonrad 15.01.2019 12:58

пробовал вот так $scope.dtInstance = {};, но все равно не работает. та же ошибка. также добавлен в table, как этот <table id = "entry-grid" datatable = "" dtinstance = "dtInstance" dt-options = "dtOptions" dt-columns = "dtColumns" class = "table table-hover"></table>

hud 15.01.2019 13:03

@BN, как сказано, используйте обратный вызов, как показано в ответе по ссылке.

davidkonrad 15.01.2019 13:09

да, сейчас работает с другой небольшой проблемой, Uncaught TypeError: Cannot read property 'row' of undefined

hud 15.01.2019 13:59

У вас dtinstance вместо dt-instance (или dtInstance) ...?

davidkonrad 15.01.2019 17:22

Другие вопросы по теме