2016-10-15 1 views
-2

Ich habe zwei Dropdown-Menüs mit gleichen Elementen. Wenn im ersten Drop-down-Menü ein Element ausgewählt ist, sollte es im nächsten Dropdown-Menü nicht angezeigt werden.Drop-Down-Validierungen in asp.net

+0

den ausgewählten Wert entfernen, indem die Daten auf den zweiten Drop-Down in dem OnChange-Ereignisse der ersten Drop-Down- – Denzil

+0

Neuzuweisung wird es besser sein, wenn Sie Ihren Code teilen, was Sie getan haben. ** Es sollte nicht erscheint in der nächsten Dropdown-Liste **, bedeutet das, dass, wenn die erste Dropdown-Liste mit einem Artikel ausgewählt wird, dieser Artikel nicht in der zweiten Dropdown-Liste angezeigt wird? –

+0

Dies scheint so zu sein, als ob Sie die Kaskadierung 'DropDownList' verwendet haben. Ohne diese Funktion würde es nicht funktionieren. Teilen Sie Ihren Code und versuchen Sie, die Kaskadierung zu entfernen. –

Antwort

0

Working Demo

$(function() { 

    var lastRemovedIndex = -1; 
    var lastRemovedOptionHtml = null; 


    $('#ddl1').change(function() { 

    if (lastRemovedIndex == -1) 
    { 
    //both must have equal(and non-zero) number of children 
    if ($(this).children().length < 1 || $(this).children().length != $('#ddl2').children().length) 
     return;   
    else 
    { 
     //if a has n children then b must have n-1 as 1 child was removed from b 
     if ($(this).children().length - 1 != $('#ddl2').children().length) 
      return; 

    //Little complex. It says add the last removed option at its last position 
     if (lastRemovedIndex != $('#ddl2').children().length) 
      $('#ddl2').children().eq(lastRemovedIndex).before($(lastRemovedOptionHtml)); 
     else 
      $('#ddl2').append(lastRemovedOptionHtml); 
    } 
    var objectToBeRemoved = $('#ddl2').children().eq(this.selectedIndex); 
    lastRemovedIndex = objectToBeRemoved.index(); 
    lastRemovedOptionHtml = objectToBeRemoved[0].outerHTML; 
    objectToBeRemoved.remove(); 
    }); 


});