javascript在下拉列表更改事件中启用文本框

时间:2014-07-01 07:47:56

标签: c# javascript

我有五个下拉列表和五个texbox,我正在检查点击任何下拉列表相应的texbox应该通过javascript使用asp.net中的母版页启用/禁用 例如:如果选择dropdownlist1,那么texbox1应该启用,对于一个文本框,它的工作方式如何使其适用于五个文本框

 function HideTextBox(ddlId) {
        var ControlName = document.getElementById(ddlId.id);

        if (ControlName.value == 0)  
        {
            document.getElementById('<%=txtComment1.ClientID%>').disabled = true;
        }
        else {
            document.getElementById('<%=txtComment1.ClientID%>').disabled = false;

        }
    } 

2 个答案:

答案 0 :(得分:0)

你可以使用JQuery,这是更好的方法。为每个textBox设置两个类,首先是.textBox1 .myTexts, 第一个类必须包含文本框的ID。如.textBox1,.textBox2等。您的保管箱值必须只包含文本框的ID。

$(document).ready(function(){
   $("#dropBoxID").change(function(){
      $(".myTexts").attr('disabled','disabled');
      $(".textBox"+$(this).val()).removeAttr("disabled")
   });
});

答案 1 :(得分:0)

试试这个 http://jsfiddle.net/3WJtM/

function HideTextBox(ddlId) {  

    var ControlName = document.getElementById(ddlId.getAttribute("id"));
    var idTxt = ControlName.getAttribute("txt");
        if (ControlName.value == 0)  
        {
            document.getElementById(idTxt).disabled = true;
        }
        else {
            document.getElementById(idTxt).disabled = false;
    } 
}

在每个对象上选择,添加一个名为te输入文本的属性txt 在javascript中,您搜索此文本框以启用或禁用

例如

<select id="ddl1" txt="txt1"  onchange="HideTextBox(this);" >
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
</select>
<input type="input" id="txt1" disabled/>