возможно ли в JS скрыть <option>

filips

Новичок
возможно ли в JS скрыть <option>

есть форма

Код:
<form method="POST" action="/insurkey.ru/kalc_osago.php" id="fr" name="fr">
<table border="1">
<tr>
	<td>Владелец: </td>
	<td><input type="radio" name="person" CHECKED onChange="prov()"> Физическое лицо <input type="radio" name="person" onChange="prov()">Юридическое лицо</td>
</tr>
<tr>
	<td>Срок страхования: </td>
	<td><select name="srok"><option value="1" selected>10 месяцев и более</option><option value="2">9 месяцев</option><option value="3">8 месяцев</option><option value="4">7 месяцев</option><option value="5">6 месяцев</option><option value="6">5 месяцев</option><option value="7">4 месяца</option><option value="8">3 месяца</option><option value="9">2 месяца</option><option value="10">от 16 дней до месяца</option><option value="11">до 15 дней</option></select>

</td>
</tr>

<tr>
	<td colspan=2 align=center><input type="submit" value="Рассчитать"></td>
</tr>
</table>
</form>

так вот, как сделать чтобы при выборе юр лица, в selecte были видны только
<option value="6">5 месяцев</option>
<option value="7">4 месяца</option>

а если выбранно физ лицо то все остальное кроме 5 и 4 месяцев
 

BRat

o_0
Массив JS сформируй, и перезаполняй селект данными из него при каждом выборе

[{'name':'5 месяцев', value:6, show_for:'physical'}, ...]

или вариации на тему style.display='none'
 

filips

Новичок
а какием образом масив передавать селекту? как к нему обратиться?
 

Zetruger

ivan.chistyakov.name
<select id=selobj>
<option>1</option>
<option>2</option>
<option>3</option>
</select>

selobj = document.getElementById('selobj');
selobj.innerHTML = '<option>4</option><option>5</option><option>6</option>';
 

filips

Новичок
получилось сделать, но кроме первого опшина выбрать ничего нельзя (

в чем ошибка?

var arC = [
['10 месяцев и более', '9 месяцев', '8 месяцев'],
[3, 2, 1]
];

getEl('srok').options.length = null;
for (var i=0; i < arC[0].length; i++)
getEl('srok').options=new Option(arC[0],arC[1]);
 

BRat

o_0
PHP:
var ListUtil = new Object;   

ListUtil.add = function(oListBox, sName, sValue)
        {
            var oOption = document.createElement("option");
            oOption.appendChild(document.createTextNode(sName));
            if (arguments.length == 3)
            {
                oOption.setAttribute("value", sValue);
            }
            oListBox.appendChild(oOption);
        };

        ListUtil.remove = function(oListBox, iIndex)
        {
            oListBox.remove(iIndex);
        };

        ListUtil.clear = function(oListBox)
        {
            for (var i = (oListBox.options.length - 1); i >= 0; i--)
                ListUtil.remove(oListBox, i);
        };

        ListUtil.move = function(oListBoxFrom, oListBoxTo, iIndex) {
            var oOption = oListBoxFrom.options[iIndex];
            oListBoxTo.appendChild(oOption);
        };

        ListUtil.shiftUp = function(oListBox, iIndex)
        {
            if (iIndex > 0)
            {
                var oOption = oListBox.options[iIndex];
                var oPrevOption = oListBox.options[iIndex - 1];
                olistBox.insertBefore(oOption, oPrevOption);
            }
        };

        ListUtil.shiftDown = function(oListBox, iIndex)
        {
            if (iIndex < (oListBox.options.length - 1))
            {
                var oOption = oListBox.options[iIndex];
                var oNextOption = oListBox.options[iIndex + 1];
                olistBox.insertBefore(oOption, oNextOption);
            }
        };
 

filips

Новичок
спасибо

теперь осталось понять как через яву сделать
<select disabled="disabled">

тоесть чтобы кроме текущего опшина нельзя было выбрать ничего
 

Zetruger

ivan.chistyakov.name
filips
читай MSDN там все подробно расписано,
только конечно проверяй чтобы работало в остальныз браузерах
 
Сверху