Вам не нужен Prototype JS для этого.
Удаление параметра по индексу:
var select = document.getElementById('someid')
select.removeChild(select.options[0])
<select id='someid'>
<option value='0'>Value 0</option>
<option value='1'>Value 1</option>
</select>
Удаление вариант с конкретным value
:
var select = document.getElementById('someid')
select.removeChild(getOptionByValue(select, '0'))
function getOptionByValue (select, value) {
var options = select.options;
for (var i = 0; i < options.length; i++) {
if (options[i].value === value) {
return options[i]
}
}
return null
}
<select id='someid'>
<option value='0'>Value 0</option>
<option value='1'>Value 1</option>
</select>
Или, вдохновленный this answer:
(Edit:RobG submitted this technique before me; все кредиты в дальнейшем ему. Я видел его комментарий критикуя мой ответ и начал редактировать свой пост, соответственно, но не прокручивать вниз достаточно далеко, чтобы увидеть его ответ, а, который рассмотрел этот вопрос уже.)
var select = document.getElementById('someid')
select.removeChild(select.querySelector('option[value="0"]'))
<select id='someid'>
<option value='0'>Value 0</option>
<option value='1'>Value 1</option>
</select>
Хотя это правильно, это не дает ответа на вопрос о снятии опции с конкретным значением. : -/ – RobG
Хорошая точка. Я отредактировал свой ответ, чтобы включить альтернативный вариант для этого более общего варианта использования. – gyre