Как получить родительский узел для выбранного элемента в JavaScript
Я пытаюсь изменить цвет фона ячейки таблицы, если выбранный элемент в раскрывающемся списке изменяется. Я использую тот же javascript для текстового поля, и он отлично работает. В firebug "ячейка" не определена при вызове из выбора.
Вот мой скрипт / HTML
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
function changeText(cell, shown, hidden)
{
if (shown == hidden)
{
cell.style.backgroundColor="red";
}
else
{
cell.style.backgroundColor="green";
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<table cellpadding="5">
<tr>
<td>
Cell 1
</td>
<td>
<select id="catBlah" OnChange="changeText(this.parentnode, this.options[this.selectedIndex].value, '789');">
<option value=""></option>
<option selected="selected" value="789">Item 1</option>
<option value="000">Item 2</option>
<option value="456">Item 3</option>
<option value="123">Item 4</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="text" value="blue" onchange="changeText(this.parentNode, this.value, 'blue');" />
</td>
<td>
Cell 4
</td>
</tr>
</table>
</form>
</body>
</html>
Если я просто передам объект select (используя "this" вместо "this.parentnode"), я смогу изменить цвет фона выбора (который может соответствовать требованиям), но не могу понять, как получить parentnode.
Спасибо
2 ответа
Решение
Я считаю, что ваш код работал (возможно, я исправил его, поигравшись с ним). Похоже, это был твой корпус. Пожалуйста, смотрите: http://jsfiddle.net/kaleb/y6UuL/
Похоже, вы просто не смогли увидеть цвет фона. Я добавил обивка в твою камеру.