如何从下拉列表中获取文本框值

时间:2013-06-19 07:42:52

标签: javascript html

我有一大堆代码,其中特定值以下拉列表的形式出现。我被要求删除它并给出文本框格式,因为还有一个值。这是一个有时间限制的任务。价值是通过不同的方法选择的,所以它的时间阻碍了从哪里看;它的价值 我只是隐藏该选择框并以禁用的形式创建一个新的文本框,并从选定的选项中获取其值。但技巧不起作用

<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 &nbsp;</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;  
}

但是这个技巧不起作用,它抛出了一个错误无效的对象类型。

2 个答案:

答案 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之前获得了idMethodSeldocument.getElementById("idMethodSelTxt")变量。

function showTxtbox()
{
   var idMethodSelTxt = document.getElementById("idMethodSelTxt");
   var idMethodSel = document.getElementById("idMethodSel");
   idMethodSelTxt.innerHTML = idMethodSel.options[idMethodSel.selectedIndex].text;  
}