javascript включить текстовое поле при событии изменения выпадающего списка

#c# #javascript

#c# #javascript

Вопрос:

у меня есть пять выпадающих списков и пять текстовых полей, и я проверяю, по щелчку любого из выпадающих списков соответствующий текстовый ящик должен быть включен / отключен через 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;

        }
    } 
  

Ответ №1:

Вы можете использовать jQuery, это лучший способ. Установите два класса для каждого текстового поля, first .TextBox1 .myTexts, первый класс должен содержать идентификатор для текстовых полей. Например, .TextBox1, .TextBox2 и т.д. И значение вашего dropbox должно включать только идентификатор текстового поля.

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

Комментарии:

1. я хочу использовать javascript для этого.

2. если вы используете ClientID, вы должны определить каждый из них в своем js-коде, вы можете использовать document.getElementById(‘<%=txtComment1. ClientID%>’).setAttribute(«отключено», «отключено») и removeAttribute(«отключено»)

Ответ №2:

попробуйте это 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;
    } 
}
  

для каждого выбранного объекта добавьте атрибут 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/>