我有一大堆代码,其中特定值以下拉列表的形式出现。我被要求删除它并给出文本框格式,因为还有一个值。这是一个有时间限制的任务。价值是通过不同的方法选择的,所以它的时间阻碍了从哪里看;它的价值 我只是隐藏该选择框并以禁用的形式创建一个新的文本框,并从选定的选项中获取其值。但技巧不起作用
<div id='divMtdAttach' class='clsStatsDivWhole'
style='display:none;background:#EEF4FD;border:none;top:20px; left:40px;'>
<div class='clsCapTblHdr' align=left valign=center
style='position:absolute;left:15px; font-size:9pt; font-weight:bold; width:100%;'>
Configuration file
</div>
<div class='clsMtdStatPnl' style='top:45px;width:90%;'>
<table>
<tr>
<td class='clsTblCell5' align=left valign=center>Interface </td>
<td class='clsTblCell5' valign=top>
<select id='idMethodSel' class='clsTargetSel'
style='width:220px; display:none' Size=1 onchange='mtdAttachDlg("MtdAttach")'>
</select>
<table class='clsTblCellTI' style='border:1px solid #7f9db9;'>
<tr>
<td id='idMethodSelTxt'
style='width:210px; height:12px; padding-left:2px; padding-right:2px;border-style:none;'>
<script type="text/javascript">
showTxtbox()
</script>
</td>
</tr>
function showTxtbox()
{
idMethodSelTxt.innerText=idMethodSel.options[idMethodSel.selectedIndex].text;
}
但是这个技巧不起作用,它抛出了一个错误无效的对象类型。
答案 0 :(得分:1)
我只是猜测你是什么......
这是一个简单的JavaScript函数(使用jQuery),用一个禁用的文本字段替换你的下拉列表:
function replaceSelectWithTextBox() {
var $drop = $('#idMethodSel');
var choice = $drop.val();
var $textBox = $('<input type="text">');
$textBox.val(choice).prop('disabled', true);
$drop.parent('td').append($textBox);
$drop.remove();
}
此fiddle显示使用10秒计时器的工作示例。
这是另一个使用按钮而不是计时器的fiddle。
答案 1 :(得分:0)
而不是idMethodSelTxt.innerText
,请尝试idMethodSelTxt.innerHTML
。
我还假设您在尝试访问idMethodSelTxt
之前获得了idMethodSel
和document.getElementById("idMethodSelTxt")
变量。
function showTxtbox()
{
var idMethodSelTxt = document.getElementById("idMethodSelTxt");
var idMethodSel = document.getElementById("idMethodSel");
idMethodSelTxt.innerHTML = idMethodSel.options[idMethodSel.selectedIndex].text;
}