2015-09-18 2 views
-2

Я использую JavaScript для добавления выпадающего списка в jsp, нажав кнопку, но почему-то не работает. Может кто-то, пожалуйста, помогите мне. Мне нужно использовать html: select tag.innerHTML и html: select tag

<script language="JavaScript" type="text/javascript"> 
    function addRow() { 
     var mytbody = document.getElementById('mytbody'); 
     var row = document.createElement('tr'); 
     var cell1 = document.createElement('td'); 

     cell1value=''; 
     cell1value+='<html:select property="test1" styleId="test1"> <html:option value="code1">test 1</html:option> </html:select>';  
     cell1.innerHTML = cell1value;  

     row.appendChild(cell1);  
     mytbody.appendChild(row); 
    } 
</script> 

HTML кода:

<table id="mytable"> 
<tbody id="mytbody"> 
<tr> 
    <td>test1</td> 
</tr> 
</tbody> 
</table> 

<input type="button" onclick="addRow()" value="test"/> 
</form> 
</body> 
</html> 

Спасибо за вашу помощь

+0

Что значит «его не работает»? Вы получаете сообщение об ошибке? Просьба уточнить этот вопрос. –

+0

Пожалуйста, вставьте сгенерированный код, как показано в источнике браузера, а не код jsp, который вы написали. – Kustolovic

ответ

-1

Какова цель? Если вам просто нужно вставить строки в таблице, она отлично работает уже:

Look here: 

http://codepen.io/anon/pen/NGNJrV

Вы можете уточнить этот вопрос, пожалуйста?

+0

Я пытался добавить строку, нажав кнопку, но в новой строке у меня есть несколько выпадающих списков. Чтобы решить проблему, я добавляю только одну выпадающую таблицу, используя html: select tag. Когда я нажимаю кнопку, он показывает синтаксическую ошибку в браузере и выдает шоу с этими строками -> cell1value + = ' test 1 '; – mk1001

0

Я сделал jsfiddle, чтобы проверить это ... Я думаю, вам просто нужно иметь этот javascript в теге заголовка.

Используйте инструменты разработчика F12 и попытайтесь отладить проблему при нажатии кнопки. Вы можете обнаружить, что addRow() не определено.

Я также немного изменил код из-за того, что я не разбираюсь в JSP - извините! Это то, что

"<html:select..." 

строка была? Я изменил его на html.

http://jsfiddle.net/e7z1efgr/

function addRow() { 
 
    var mytbody = document.getElementById('mytbody'); 
 
    var row = document.createElement('tr'); 
 
    var cell1 = document.createElement('td'); 
 

 
    var cell1value = ''; 
 
    cell1value += '<select class="text1"><option value="code1">test 1</option></select>'; 
 
    cell1.innerHTML = cell1value; 
 

 
    row.appendChild(cell1); 
 
    mytbody.appendChild(row); 
 
}
<table id="mytable"> 
 
    <tbody id="mytbody"> 
 
    <tr> 
 
     <td>test1</td> 
 
    </tr> 
 
    </tbody> 
 
</table> 
 
<input type="button" onclick="addRow()" value="test" /> 
 
</form> 
 
</body> 
 

 
</html>

+0

html: select - это тег strut, который анализирует обычные коды выбора html. – mk1001

+0

А я вижу. В этом случае все, что вы разместили, выглядит великолепно. Единственное, что я могу сказать отсюда, это использовать инструменты разработчика любого браузера, который вы предпочитаете отлаживать javascript. Скрипка работает, но если вы измените загрузку javascript, она сломает ее. OnDOMLoad, OnDocumentReady оба прерывают нажатие кнопки. – Shockwave

0

Ваша проблема странный HTML вы вставляете:

'<html:select property="test1" styleId="test1"> <html:option value="code1">test 1</html:option> </html:select>' 

должен быть

'<select property="test1" styleId="test1"> <option value="code1">test 1</option> </select>' 
+0

он отлично работал с обычными тэгами select html, но мне нужно использовать strut html: select tag в моем jsp. Таким образом, html: select tag будет анализировать тег html select. – mk1001

+0

Итак, можете ли вы разместить код, созданный jsp? – Kustolovic