2011-02-23 116 views

回答

1

下面是使用普通的JavaScript jsfiddle一个例子:

HTML:

<select id='myselect'> 
    <option value='none'>none</option> 
    <option value='1'>1</option> 
    <option value='2'>2</option> 
    <option value='3'>3</option> 
</select> 
<input type='text' value='' name='mytext' id='mytext' disabled /> 
<button value='add' id='addbtn' name='addbtn'>add</button> 

我们开始禁用输入文本框。

var myselect = document.getElementById('myselect'); 

function createOption() { 
    var currentText = document.getElementById('mytext').value; 
    var objOption = document.createElement("option"); 
    objOption.text = currentText; 
    objOption.value = currentText; 

    //myselect.add(objOption); 
    myselect.options.add(objOption); 
} 

document.getElementById('addbtn').onclick = createOption; 

myselect.onchange = function() { 
    var mytextfield = document.getElementById('mytext'); 
    if (myselect.value == 'none'){ 
     mytextfield.value = ''; 
     mytextfield.disabled = true; 
    }else { 
     mytextfield.value = myselect.value; 
     mytextfield.disabled = false; 
    } 
} 

使用在以前的帖子我们基本上添加一个onchange状态来选择标记,以便当一个选项被选中,我们设置文本框的值到当前选定的内容,然后基本上树立的榜样文本字段的禁止虚假。因此,选择选项时启用文本字段。另外,我添加了一个名为'none'的选项,所以当用户选择none时,它会对文本字段进行分页。

+0

优秀,很好,谢谢... – firestruq

2
$(function() { 

    var $select = $('#idForSelectBox'), 
     $textarea = $('#idForTextarea'), 
     status; 

    $select.bind('change', function() { 

     // If the value of the select box matches "Whatever you want" 
     // set status to '', else set status to 'disabled' 
     status = ($(this).val() === 'Whatever you want') ? '' : 'disabled'; 

     $textarea.attr('disabled', status); 

    }); 

}); 
+0

以防万一OP不知道这是jQuery解决方案,它需要jQuery框架 – kjy112