Мне нужно динамически размещать типы ввода внутри тега <td> - метод innerHTML() не работает в Internet Explorer. В Мозилле работает нормально.

Вот как я помещаю типы ввода в JavaScript, где ValueCol — это идентификатор <td>. В некоторых действиях мне нужно изменить элемент управления на текстовое поле.

   document.getElementById("ValueCol").innerHTML = "<select name=\"type\" id=\"periodPass\" onchange=\"javascript:AmountOnPeriodPass(this);\"> <option selected=\"selected\" >Select a Pass</option><option>10-day Pass</option><option>Monthly Pass</option>";

Он отлично работает в Mozilla, но не в Internet Explorer. Что я делаю неправильно?

0
DSB 23 Окт 2009 в 09:40
Вы пробовали jQuery? Вы можете сделать что-то вроде $.('#cellId').append('yourhtmlstring');
 – 
pgpb.padilla
18 Апр 2013 в 00:19

2 ответа

Что ж, как описано в таблицах совместимости QuirksMode, innerHTML не работает нормально в IE для столы. Вы должны использовать обычные манипуляции с DOM.

2
gizmo 23 Окт 2009 в 18:36
1
Хороший звонок. Я предлагаю поместить DIV внутри TD и вместо этого работать с DIV.
 – 
Diodeus - James MacFarlane
23 Окт 2009 в 18:04

Похоже, вы забыли закрыть элемент <select>. Может, это влияет?

1
Duroth 23 Окт 2009 в 10:24