我有两个选择列表,并且基于任一列表的选定索引,我需要从两个列表中删除该索引处的选项。
我见过使用 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();
示例
您可以see an interactive example here并演示如下:
关于javascript - 根据索引从选定列表中删除选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36917474/