我正面臨一個問題。我有一個下拉串列,其中包含從資料庫中獲取的用戶串列。當我從下拉串列中選擇一個用戶時,它會附加在表格下方,當我再次選擇同一用戶時,它會再次作為新行附加在表格下方。所以我想停止在表中復制相同的用戶。
這是我的查看代碼
<div class="form-group col-md-4 " style="display:none" id="user-container">
<label>User</label>
<select id="users" class="form-control" disabled="disabled">
<option value="">Select User</option>
</select>
<p class="validate-error"><span id="users_error"></span></p>
</div>
這是我的 JavaScript 代碼
PostMyData(obj, '/Admin/Meetings/GetUserGroupUsers', (res) => {
if (res.Code === 0 || res.Code === -1) {
alert(res.Message);
}
if (res.Code === 1) {
$('#users').html('');
$('#users').append('<option value="">Select User</option>');
res.Data.map(item => {
$('#users').append(`<option value="${item.UserId}">${item.FirstName} ${item.LastName}</option>`);
});
$('#users').prop('disabled', false);
}
uj5u.com熱心網友回復:
我認為動態給出一個 id 可以完成這項作業。假設您根據 id 值給出 id,那么您可以輕松找到相同的 id 是否存在。
PostMyData(obj, '/Admin/Meetings/GetUserGroupUsers', (res) => {
users = document.getElementById("users");
if (res.Code === 0 || res.Code === -1) {
alert(res.Message);
}
if (res.Code === 1) {
users.html('');
users.append('<option value="">Select User</option>');
res.Data.map(item => {
if(!users.querySelector(item.UserId))
users.append(`<option value="${item.UserId}" id="${item.UserId}">${item.FirstName} ${item.LastName}</option>`);
});
users.prop('disabled', false);
}
uj5u.com熱心網友回復:
我不知道在 table 中復制相同的用戶是什么意思,如果您的意思是要防止在下拉串列中復制用戶,您可以嘗試使用此代碼,如果沒有,請提供有關您正在處理的表的更多詳細資訊。
...
const usersList= $('#users');
res.Data.forEach(item => {
if(usersList.find(`option[value=${item.UserId}]`).length > 0){
return ; // do nothing
}
usersList.append(`<option value="${item.UserId}">${item.FirstName} ${item.LastName}</option>`);
});
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/377616.html
標籤:javascript 查询 网站 asp.net-mvc asp.net-mvc-4
上一篇:以下形式的功能組件是否有效?
