в этом fiddle есть To
button.When нажал на эту кнопку, появится диалоговое окно appears.By по умолчанию из выпадающего меню users
является selected.If я установить флажок из этой таблицы пользователей и после этого Если изменить раскрывающееся меню на группы и выбрать флажок из таблицы групп, то в consolse появится Uncaught TypeError: Cannot call method 'split' of undefined
. Однако с самого начала (без выбора какого-либо флажка таблицы пользователей) Если я перехожу к таблице групп а затем выберите некоторые флажки, то указанная выше ошибка не появится. Может ли кто-нибудь из тел рассказать мне, как решить эту проблему.Uncaught TypeError: Невозможно вызвать метод «разбить» неопределенной
Ниже приведен код JQuery
$('#ViewFull').click(function() {
$('#mytable1 tr').removeClass('hide');
});
$('.select').on('change', function() {
var tablink = '#' + $(this).val();
$('#groups').hide();
$('#users').hide();
$(tablink).show();
});
function copy_users_table() {
var users = $('#mytable').html();
$('#mytable12').html(users);
}
function copy_groups_table() {
var groups = $('#TogroupsTable').html();
$('#groupsTable1').html(groups);
}
function collect_users_and_groups(is_groups) {
var tos = [];
$('#mytable12 input:checked, #groupsTable1 input:checked').each(function (i, elt) {
//alert("to groups");
if (is_groups) {
//alert("to groups");
var dataids = $(this).parent().attr("data-selected").split(",");
alert("dataids " + dataids);
}
var name = $.trim($(this).parent().next().text());
tos.push(name);
});
return tos.join(', ');
}
$('body').on('click', '#to-btn', function() {
// copy current tables
copy_users_table();
copy_groups_table();
// initialize checkboxes
var number = $('#number').val();
$('#ToAdd').text(number);
var entries = number.split(/\s*,\s*/);
init_users_table(entries);
init_groups_table(entries);
$("#mytable12 input:checkbox").on('change', function() {
var tos = collect_users_and_groups(false);
$("#ToAdd").html(tos);
});
$("#groupsTable1 input:checkbox").on('change', function() {
var tos = collect_users_and_groups(true);
$("#ToAdd").html(tos);
});
// show tab
$('.select').val('users');
$('#users').show();
$('#groups').hide();
});
$('#ToOk').click(function() {
$("#number").val($("#ToAdd").text());
});
function init_users_table(entries) {
// go through all rows
$('#users tr').each(function() {
var username = $('td:nth-child(2)', this).text();
var selected = $.inArray(username, entries) >= 0;
$('input:checkbox', this).prop('checked', selected);
});
}
function init_groups_table(entries) {
$('#groups tr').each(function() { //added 13
var groupname = $.trim($('td:nth-child(2)', this).text());
var selected = $.inArray(groupname, entries) >= 0;
$('input:checkbox', this).prop('checked', selected);
});
}
Возможно '$ (это) .parent() атр ("данные выбраны")' неопределен – Satpal
@Satpal Я предполагаю, что это 'undefined'. –
@Satpal Но как это не определено. После выбора флажка пользователей возникает только эта ошибка – SpringLearner