簡體   English   中英

從索引中刪除選定列表中的選項?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM