通过JS复选框启用文本框

时间:2011-05-30 11:57:47

标签: javascript html

你能解释一下我如何根据组合框启用/禁用文本框(也就是说,可以编辑或不编辑)? 如果组合框值= 1 - >文本框启用;如果combobox = 0 - >文本框禁用。

4 个答案:

答案 0 :(得分:3)

var combo = document.getElementById('combo');
combo.onchange = function() {
    var value = document.getElementById('combo').value;
    var textBox = document.getElementById('textbox');
    if (value == '0') {
        textBox.setAttribute('readonly', 'readonly');
    } else if (value == '1') {
        textBox.removeAttribute('readonly');
    }    
};

这是一个live demo

答案 1 :(得分:1)

您想要使用onchange元素的select事件。这是一个例子:

<html>
<head>
<script type="text/javascript">
function select1changed()
{
    var select1 = document.getElementById('select1');
    var txt1 = document.getElementById('txt1');
    txt1.disabled = (select1.value == '0');
}
</script>
</head>
<body>
    <form>
    Combo: 
    <select id="select1" onchange="select1changed();">
        <option value="0">Option 0</option>
        <option value="1">Option 1</option>
    </select>
    Text: <input id="txt1" type="text" value="sometext" disabled="disabled" />
    </form>
</body>

注意:我将txt1标记为已禁用,以便在加载页面并select1设置为Option 0时处理初始状态。

答案 2 :(得分:0)

是的,你可以轻松完成。

使用文本框的disabled属性,如下所示

function enableField(val)
{
  document.form1.address2.disabled = val;
}

注意: address2是一个文本字段

答案 3 :(得分:0)

检查一下,

<select id='abc' onChange="changeMe()">
  <option value="">--Select--</option>
  <option value="111">111</option>
  <option value="222">222</option>
</select>
<input type="text" name="abcText" />
<script>
function changeMe(){
    if(document.getElementById("abc").value == "111"){
        document.getElementById("abcText").disabled = true;
    }else{
        document.getElementById("abcText").disabled = false;
    }
}
</script>