#javascript #jquery #asp.net #asp.net-mvc #asp.net-mvc-4
#язык JavaScript #jquery #asp.net #asp.net-mvc #asp.net-mvc-4
Вопрос:
Я столкнулся с проблемой. у меня есть выпадающий список, содержащий список пользователей, извлекаемых из базы данных. Когда я выбираю пользователя из выпадающего списка, он добавляется в нижеприведенную таблицу, а когда я снова выбираю того же пользователя, он снова добавляется в нижеприведенную таблицу в качестве новой строки. Поэтому я хочу прекратить дублировать одного и того же пользователя в таблице.
Вот мой код просмотра
lt;div class="form-group col-md-4 " style="display:none" id="user-container"gt; lt;labelgt;Userlt;/labelgt; lt;select id="users" class="form-control" disabled="disabled"gt; lt;option value=""gt;Select Userlt;/optiongt; lt;/selectgt; lt;p class="validate-error"gt;lt;span id="users_error"gt;lt;/spangt;lt;/pgt; lt;/divgt;
Вот мой код JavaScript
PostMyData(obj, '/Admin/Meetings/GetUserGroupUsers', (res) =gt; { if (res.Code === 0 || res.Code === -1) { alert(res.Message); } if (res.Code === 1) { $('#users').html(''); $('#users').append('lt;option value=""gt;Select Userlt;/optiongt;'); res.Data.map(item =gt; { $('#users').append(`lt;option value="${item.UserId}"gt;${item.FirstName} ${item.LastName}lt;/optiongt;`); }); $('#users').prop('disabled', false); }
Комментарии:
1. Где этот столик?
Ответ №1:
Я думаю, что динамическое предоставление идентификатора сделает эту работу.Допустим, вы даете идентификатор на основе значения идентификатора, тогда вы можете легко определить, выходит ли тот же идентификатор или нет.
PostMyData(obj, '/Admin/Meetings/GetUserGroupUsers', (res) =gt; { users = document.getElementById("users"); if (res.Code === 0 || res.Code === -1) { alert(res.Message); } if (res.Code === 1) { users.html(''); users.append('lt;option value=""gt;Select Userlt;/optiongt;'); res.Data.map(item =gt; { if(!users.querySelector(item.UserId)) users.append(`lt;option value="${item.UserId}" id="${item.UserId}"gt;${item.FirstName} ${item.LastName}lt;/optiongt;`); }); users.prop('disabled', false); }
Ответ №2:
Я не знаю, что вы подразумеваете под дублированием одного и того же пользователя в таблице, если вы имеете в виду, что хотите предотвратить дублирование пользователя в раскрывающемся списке, вы можете попробовать этот код, если нет, пожалуйста, предоставьте более подробную информацию о таблице, над которой вы работаете.
... const usersList= $('#users'); res.Data.forEach(item =gt; { if(usersList.find(`option[value=${item.UserId}]`).length gt; 0){ return ; // do nothing } usersList.append(`lt;option value="${item.UserId}"gt;${item.FirstName} ${item.LastName}lt;/optiongt;`); }); ...