Как отобразить количество всех флажков, которые были проверены в таблице, asp.net MVC Razor

Вы должны использовать List или array вместо

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);

Или

int[] arr  = new int[10];
arr[0]=1;
arr[1]=2;

Или даже лучше

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("n1", 1);
map.put("n2", 2);

//conditionally get 
map.get("n1");
0
задан Djensen 20 February 2019 в 08:29
поделиться

1 ответ

Вы можете украшать элементы атрибутами data-, чтобы отличать их от остальных и группировать их. Подробнее об этом здесь .

В вашем примере, флажки, которые вы хотите сосчитать, могут иметь атрибут data-count-group="insidetable".

В MVC это можно сделать следующим образом:

@Html.CheckBoxFor(modelitem => item.IsChecked, new { data_count_group = "insidetable" })

С помощью jQuery вы можете обнаружить изменения во всех флажках с этим атрибутом и сосчитать все отмеченные:

$('body').on('change', 'input[data-count-group]', function(e) {
    // get the group
    var group = $(this).data('count-group');

    // get the count for group
    var checkedCount = $('input[data-count-group="'+group+'"]:checked').length;

    // display the count
    $('span[data-count-total="'+group+'"]').text(checkedCount);
});
[1110 ] Вот рабочий пример с несколькими группами флажков: https://jsfiddle.net/xd80a6r9/3/

0
ответ дан Steven Manuel 20 February 2019 в 08:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: