Добрый день.
Пишу скрипт, который при загрузке страницы удаляет все значения из тега select, которые встречаются в таблице.
<html>
<body onload="gen_list()">
<fieldset>
<legend>1111</legend>
<table id="List">
<tbody>
<tr id="accomm1" value="1"><td>1</td></tr>
<tr id="accomm2" value="2"><td>2</td></tr>
<tr id="accomm5" value="5"><td>5</td></tr>
<tr id="accomm8" value="8"><td>8</td></tr>
<tr id="accomm33" value="33"><td>33</td></tr>
<tr id="accomm11" value="11"><td>11</td></tr>
<tr id="accomm6" value="16"><td>6</td></tr>
</tbody>
</table>
</fieldset>
<select id="select">
<option id="id33" value="33">33</option>
<option id="id1" value="1">1</option>
<option id="id2" value="2">2</option>
<option id="id8" value="8">8</option>
<option id="id11" value="11">11</option>
<option id="id15" value="15">15</option>
</select>
</body>
</html>
<script>
function gen_list()
{
var idArray = new Array;
var table = document.getElementById('List');
var tableRowCount = table.rows.length;
for(var i = 0; tableRowCount > i; i++)
{
var tableRow = table.rows[i];
var tableRowValue = tableRow.getAttribute('value');
idArray[i] = tableRowValue;
}
var select = document.getElementById('select');
var selectOptionCount = select.options.length;
for(var i = 0; selectOptionCount > i; i++)
{
var selectOption = select.options[i];
var selectOptionValue = selectOption.getAttribute('value');
for(var j = 0; idArray.length > j; j++)
{
if(selectOptionValue == idArray[j])
{
alert(selectOptionValue);
//select.removeChild(selectOption);
}
}
}
}
</script>
В общем скрипт находит все совпадения, но если раскомментировать строку
select.removeChild(selectOption), которая и отвечает за удаление, то будут удалены лишь некоторые совпадения.
В данном случае не будут удалены 1 и 8.
Прошу вашей помощи в решении проблемы.
Заранее благодарен.