1

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

<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;  
}

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

4

2 回答 2

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();
}

这个小提琴显示了一个使用 10 秒计时器的工作示例。

这是另一个使用按钮而不是计时器的小提琴。

于 2013-06-19T08:04:33.100 回答
0

而不是idMethodSelTxt.innerText,尝试idMethodSelTxt.innerHTML

我还假设您在尝试访问它们之前获得了idMethodSelTxtandidMethodSel变量。document.getElementById("idMethodSelTxt")

function showTxtbox()
{
   var idMethodSelTxt = document.getElementById("idMethodSelTxt");
   var idMethodSel = document.getElementById("idMethodSel");
   idMethodSelTxt.innerHTML = idMethodSel.options[idMethodSel.selectedIndex].text;  
}
于 2013-06-19T08:00:12.933 回答