Мне нужно добавить строки в таблицу на пользовательский ввод/выбор. Невозможно использовать jQuery, Mootools 1.3.2 в порядке.Добавить html с javascript
У меня есть поле <select id="copy_selected" class="select" onchange="add_copy()" >
, которое onchange
выполняет функцию add_copy.
HTML, является (Fiddle here)
<table>
<tr>
<td class="side" id="copy_settings_desc">Wich to copy?</td>
<td>
<select id="copy_selected" class="select" onchange="add_copy()">
<option value="0">test 1</option>
<option value="1">test 2</option>
</select>
</td>
</tr>
<tr id="copy_expandable"></tr>
и не работает скрипт:
var copy_counter = 0;
function add_copy() {
copy_counter = copy_counter + 1;
var addition_text = document.getElementById('copy_selected').options[document.getElementById('copy_selected').selectedIndex].text;
var addition_id = document.getElementById("copy_selected").value;
new_addition = '<td></td>' + '<td></td>' + '</tr><tr>' +
'<td class="side">' + document.getElementById("copy_settings_desc").innerHTML + '</td>' +
'<td>' + addition_text +
'<input type="hidden" name="copy_to[copy_counter]" value=' + addition_id + '>' +
'</td>';
document.getElementById("copy_expandable").innerHTML = document.getElementById("copy_expandable").innerHTML + new_addition;
}
Я понимаю, писать HTML с помощью сценария не является хорошей практикой. (и в этом случае даже не работает)
Что было бы хорошим способом сделать это? Спасибо.
EDIT: фиксированный конкатенация (спасибо, что указав). Можете ли вы заметить, что линия <tr></tr>
игнорируется при каждом новом выборе? Зачем?
Ну, вы не конкатенируете правильно ... Попробуйте использовать код или отлаживать консоль, вы должны увидеть ошибку. – elclanrs