Javascript 在“选择”“更改”“禁用”选项上,如果选择了“上一个”,则创建一个克隆行不工作

Javascript 在“选择”“更改”“禁用”选项上,如果选择了“上一个”,则创建一个克隆行不工作,javascript,jquery,Javascript,Jquery,如果在前一行中选择,我将尝试禁用选择选项。例如,如果最后一行文本框的值已填充且选择已更改,则我的html表格将创建一行。我尝试执行的操作是,如果在之前选择了选择选项,则在创建新行时,添加禁用代码后,应禁用选择选项未创建行 添加新行后执行的以下代码应遍历以前的行,并在新行中禁用已使用的select值: var prevRows = cloned.siblings(); cloned.find('select option').each(function(index,option)

如果在前一行中选择,我将尝试禁用选择选项。例如,如果最后一行文本框的值已填充且选择已更改,则我的html表格将创建一行。我尝试执行的操作是,如果在之前选择了选择选项,则在创建新行时,添加禁用代码后,应禁用选择选项未创建行


添加新行后执行的以下代码应遍历以前的行,并在新行中禁用已使用的select值:

    var prevRows = cloned.siblings();
    cloned.find('select option').each(function(index,option) {
        prevRows.each(function(i,tr) {
            option.value !== $('select', tr).val() || $(option).prop('disabled',  true);
        });
    }); 
演示


目标是禁用在前几行中选择的选项元素吗?当select的所有值/选项都已用完时,会发生什么情况?这将是该选择的结束。最后一个空行将留空,通知您将不再自动增加所有select的行数。已选择最上面。但我不明白为什么要添加多个演示。请向您展示执行此操作的其他方法同样的事情,但第一个是最优化的。当然,谢谢,我有一个小问题,就是说你在第一行选择了test1,填充了所有的数据,然后在新行创建了test1,然后那里test1被禁用了很好,当你转到第一行并更改为test2时,因为我在第二行选择了test2,所以两者都是相同的,还有一个问题是如果我选择test2,然后应该在第一行禁用它。我提供的代码段在新行上运行,在其他行中迭代以禁用已经选择的选项。我相信您可以添加类似的代码来禁用除新选项以外的行中的选项。试一试:-
    var prevRows = cloned.siblings();
    cloned.find('select option').each(function(index,option) {
        prevRows.each(function(i,tr) {
            option.value !== $('select', tr).val() || $(option).prop('disabled',  true);
        });
    });