[英]Remove option from selected list based of index?
我有兩個選擇列表,基於所選索引,我需要從兩個列表中刪除該索引處的選項。
我已經看到使用remove()
函數為當前選擇的選項執行此操作的示例,但這只適用於一個列表,因為另一個列表可能選擇了不同的選項或根本沒有選項。
只知道索引值是否可以使用JavaScript / jQuery執行此操作? 我已經有了代碼來確定從哪個列表中提取索引並獲取該索引值。 我還沒有找到一種方法來指定刪除的索引值。
基於評論開發的代碼:
function RemoveCode(codeType)
{
var selectedProjectsField = $("#SelectedProjects");
var selectedProjectCodesField = $("#SelectedProjectCodes");
var selectedTasksField = $("#SelectedTasks");
var selectedTaskCodesField = $("#SelectedTaskCodes");
var selectedOptionIndex;
if (codeType == "Project")
{
selectedOptionIndex = $("#SelectedProjects :selected").index();
}
else
{
selectedOptionIndex = $("#SelectedTasks :selected").index();
}
alert(selectedOptionIndex);
selectedProjectsField.eq(selectedOptionIndex).remove();
selectedTasksField.eq(selectedOptionIndex).remove();
}
使用:eq()
選擇器
您可以使用:eq()
選擇器通過它的索引來定位特定元素,然后調用remove()
將其從DOM中刪除:
// Syntax Example: This will remove then (index)th option element
$('select option:eq(index)').remove();
因此,在您的情況下,您只需要使用以下方法之一將selectedOptionIndex
連接到目標選擇器的選擇器:
// Remove a specific option of your SelectedProjects element
$('#SelectedProjects option:eq(' + selectedOptionIndex + ')').remove();
例
您可以在此處查看交互式示例,並在下面演示:
這段代碼應該有效:
$('#SelectedProjects option')[index].remove();
$('#SelectedTasks option')[index].remove();
要么
selectedProjectsField.find('option')[selectedOptionIndex].remove();
selectedTasksField.find('option')[selectedOptionIndex].remove();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.