Вы непосредственно присваиваете значение 1
свойству document.forms[0].elements['ParentSelect']
, тогда как вы, вероятно, хотите изменить значение элемента, что будет достигнуто следующим образом:
document.forms[0].elements['ParentSelect'].value = 1
Я согласен с некоторыми другими комментариями, касающимися отсутствия действительного HTML-структурирования, и я хотел бы добавить, что если вы собираетесь ссылаться на поле через document.forms[0]
, вы можете также дать полю свойство id, чтобы вы моглипросто используйте document.getElementById, чтобы ваш код работал независимо от других форм на странице.В любом случае, используя ваш метод, вот полный код:
<form>
<input type="hidden" name="ParentSelect" value="0" />
<select class="style" onchange="document.forms[0].elements['ParentSelect'].value=1" >
<option value="1">Value 1</option>
<option value="2">Value 2</option>
</select>
</form>
Используя вместо этого идентификатор:
<form>
<input id="parentSelect" type="hidden" name="ParentSelect" value="0" />
<select class="style" onchange="var e = document.getElementById('parentSelect'); if (e) e.value=1;" >
<option value="1">Value 1</option>
<option value="2">Value 2</option>
</select>
</form>