<html>
<body>
<script type="text/javascript">
function showSelected(val)
{
document.getElementById('selectedResult').innerHTML = "The selected number
is - " + val;
}
</script>
<div id='selectedResult'></div>
<select name='test' onChange='showSelected(this.value)'>
<option value='1'>one </option>
<option value='2'>two </option>
</select>
我需要帮助,当我选择&#34;一个&#34;在下拉列表中,脚本需要在表格中显示一个文本框(输入字段),当我选择&#34;两个&#34;在下拉脚本中需要在表格中显示两个文本框((输入字段)?如何实现这个PLZ帮助我?
答案 0 :(得分:0)
要获取文本以及选择框的值,您应该参考所选选项而不仅仅是选择框:
<select name='test' onchange='showSelected(this[this.selectedIndex].value)'>
或
<select name='test' onchange='showSelected(this[this.selectedIndex].text)'>
除此之外,您的代码运行正常。
由于已经澄清了根据所选值将输入元素附加到dom中的问题:
function showSelected(num) {
var docFrag = document.createDocumentFragment();
for(var i = 0; i < num; i++) {
var input = document.createElement('input');
input.setAttribute('type', 'text');
docFrag.appendChild(input);
}
var selectedResult = document.getElementById('selectedResult');
while(selectedResult.firstChild) selectedResult.removeChild(selectedResult.firstChild);
selectedResult.appendChild(docFrag);
}
对该问题的另一个澄清:
function showSelected(num) {
var tr = jQuery('<tr><td><input type="text" /></td></tr>'),
table = jQuery('<table><tbody></tbody></table>'),
tbody = table.find('tbody');
for(var i = 0; i < num; i++) {
tbody.append( tr.clone() );
}
jQuery('#selectedResult').empty().append(table);
}