2011-12-25 4 views
1

Используя следующий код, я могу получить согласованные элементы. Как найти несовпадающие элементы из этого:сравнение значения опции выбора

$('#list1 option').each(function (i, option)       
    $('#list2 option').each(function (j, option) { 
     if ($('#list1 option').val() ==$('#list2 option').val()) 
      matchedList= $('#list1 option').val() 
     }); 
    }); 
}); 

ответ

2

Второй аргумент петли обратного вызова each содержит ссылку на HTML-элемент, HTMLOptionElement, в этом случае. Просто используйте свойство value, чтобы сравнить цены.

Используйте !==, чтобы свести на нет сравнение.

var nonMatchedList = []; 
$('#list1 option').each(function (i, option1) { 
    $('#list2 option').each(function (j, option2) { 
     if (option1.value !== option2.value) { 
      nonMatchedList.push(option1.value); // Add to list 
      return false;      // Stop looping through list2 
     } 
    }); 
}); 
+0

Не работает должным образом. вывод содержит несколько раз элементов list1. – user930453

+0

@ user930453 Обновлен ответ, чтобы не показывать '

Смежные вопросы