Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   array.some(function) не работает в IE (https://javascript.ru/forum/misc/2505-array-some-function-ne-rabotaet-v-ie.html)

newbie 07.01.2009 18:31

array.some(function) не работает в IE
 
Есть элемент select со списком городов.
Есть группа из 4-х радиокнопок. Четвертая радиокнопка по умолчанию disabled.
Задача: Делать четвертую радиокнопку enabled, если в select'e выбран определенный город.

Решение:
Айдишники городов, в которых радиокнопка enabled записаны в arr.

var select1 = document.getElementById('selCity');
function disable(){
	var arr = [1,2,6,98]
	function isDisabled(element, index, array)
	{
	return (select1.options[select1.selectedIndex].value == element)
	}	
	
	if(arr.some(isDisabled))
	{document.getElementById('goog').disabled = false;}
	else{document.getElementById('goog').disabled = true;
		document.getElementById('goog').checked = false;
	}
		
}


В Мозилле все нормально, а IE ругается на строчку if(arr.some(isDisabled)).
Может быть как-то по другому сделать? Главное, чтобы айдишники (которые в массиве arr) хранились компактно.

Kolyaj 07.01.2009 18:47

В ИЕ у массивов нет метода some
if (!Array.prototype.some) {
  Array.prototype.some = function(o) {
    for (var i = 0; i < this.length; i++)
      if (this[i] == o)
        return true;
    return false;
  };
}
Вроде так.


Часовой пояс GMT +3, время: 13:39.