2013-06-19 2 views
1

У меня есть кусок кода, в котором определенное значение приходит в виде раскрывающегося списка. меня попросили удалить его и указать в текстовом поле, так как есть одно значение. это задача с ограничением по времени. значение выбирается с помощью другого метода, поэтому его время мешает увидеть, откуда оно: 's принимает значение . Я просто скрываю этот флажок и создаю новое текстовое поле в отключенной форме и беря его значение из выбранной опции. но трюк не работаетКак взять значение текстового поля из выпадающего списка

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

но этот трюк не работает и его бросает ошибку недействительный тип объекта.

+0

Попробуйте изменить свой вопрос, чтобы сделать его более понятным, что вы пытаетесь выполнить. Похоже, вы хотите заменить выпадающее меню с отключенным текстовым полем через некоторое время. Это верно? Plese пытается использовать знаки препинания и заглавные буквы, чтобы отделить ваши предложения. – jahroy

+0

Фактически выпадающее меню выбора уже существует, и я должен заменить его текстовым полем. которые выбирают выпадающий список через некоторые методы, получают имя свойства. поэтому я не хочу изменять эту структуру. я просто хочу скрыть это поле выбора и получить скрытое текстовое поле. – abhishek

+0

Проверьте мои скрипты. Они делают именно то, что вы описываете: они заменяют выпадающее меню с текстовым полем. – jahroy

ответ

0

Вместо idMethodSelTxt.innerText, попробуйте idMethodSelTxt.innerHTML.

Я также предполагаю, что у вас есть и idMethodSel переменных с document.getElementById("idMethodSelTxt"), прежде чем пытаться получить к ним доступ.

function showTxtbox() 
{ 
    var idMethodSelTxt = document.getElementById("idMethodSelTxt"); 
    var idMethodSel = document.getElementById("idMethodSel"); 
    idMethodSelTxt.innerHTML = idMethodSel.options[idMethodSel.selectedIndex].text; 
} 
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, который использует кнопку вместо таймера.

Смежные вопросы