Выпадающий список выбор делает только для чтения текстовое поле

Таким образом, проблема, которую я испытываю, заключается в том, что в зависимости от конкретной травмы, которая выбрана из выпадающего списка, например: бедро, рука, голова, сердце, пальцы. Некоторые текстовые поля будут доступны только для чтения. пример: если вы выберете вы мизинец все текстовые поля будут читаться только за исключением цифр текстовое поле. если плечо выбрано, все текстовые поля будут прочитаны только кроме UE. если выбрано бедро или колено, то все текстовые поля будут прочитаны только кроме текстового поля LE.

<script type="text/javascript">
  function jsFunction(sel){
  		var expression = sel.value;
  		
		switch(expression) {
		    case "1":
		        document.getElementById("txtLowerExtremity").readOnly = true;
		        document.getElementById("txtUpperExtremity").readOnly = false;
		        document.getElementById("txtDigits").readOnly = false;
		        break;
		    case "2":
		        document.getElementById("txtLowerExtremity").readOnly = false;
		        document.getElementById("txtUpperExtremity").readOnly = true;
		        document.getElementById("txtDigits").readOnly = false;
		        break;
		    case "3":
		        document.getElementById("txtLowerExtremity").readOnly = false;
		        document.getElementById("txtUpperExtremity").readOnly = false;
		        document.getElementById("txtDigits").readOnly = true;
		        break;		
		    case "4":
		        document.getElementById("txtLowerExtremity").readOnly = false;
		        document.getElementById("txtUpperExtremity").readOnly = false;
		        document.getElementById("txtDigits").readOnly = false;
		        break;
		        		        
		    default:
		        //do nothing
		} 
  }
</script>
<asp:DropDownList ClientIDMode="Static" onChange="dropDownListSelection(sel)" ID="ddlImpairment" runat="server">
    <asp:ListItem Text="---- " Value="00.00.00.00" />
    <asp:ListItem Value="03.01.00.00" Text="03.01.00.00 [ ] Valvular Heart Disease" />
    <asp:ListItem Value="03.02.00.00" Text="03.02.00.00 [ ] Coronary Heart Disease" />
    <asp:ListItem Value="03.03.00.00" Text="03.03.00.00 [ ] Congenital Heart Disease" />
    <asp:ListItem Value="03.04.00.00" Text="03.04.00.00 [ ] Cardiomyopathies" />
    <asp:ListItem Value="03.05.00.00" Text="03.05.00.00 [ ] Pericardial Heart Disease" />
    <asp:ListItem Value="03.06.00.00" Text="03.06.00.00 [ ] Arrhythmia" />

    

<asp:ListItem Value="18.00.00.00" Text="18.00.00.00 [ ] Pain - use FEC rank for involved body part." />  </asp:DropDownList>



<asp:TextBox ID="txtUpperExtremity" MaxLength="2"  ClientIDMode="Static" Width="40px" runat="server"></asp:TextBox>

<asp:TextBox ID="txtLowerExtremity" MaxLength="2" ClientIDMode="Static" Width="40px" runat="server"></asp:TextBox>

<asp:TextBox name="txtDigits" MaxLength="2" ClientIDMode="Static" ID="txtDigits" Width="40px" runat="server">/asp:TextBox>

1 ответ

  1. Ниже представлено рабочее решение для вас.

    <asp:DropDownList ClientIDMode="Static" onchange="javascript: jsFunction();" ID="ddlImpairment" runat="server">
                <asp:ListItem Text="---- " Value="00.00.00.00" />
                <asp:ListItem Value="03.01.00.00" Text="03.01.00.00 [ ] Valvular Heart Disease" />
                <asp:ListItem Value="03.02.00.00" Text="03.02.00.00 [ ] Coronary Heart Disease" />
                <asp:ListItem Value="03.03.00.00" Text="03.03.00.00 [ ] Congenital Heart Disease" />
                <asp:ListItem Value="03.04.00.00" Text="03.04.00.00 [ ] Cardiomyopathies" />
                <asp:ListItem Value="03.05.00.00" Text="03.05.00.00 [ ] Pericardial Heart Disease" />
                <asp:ListItem Value="03.06.00.00" Text="03.06.00.00 [ ] Arrhythmia" />
                <asp:ListItem Value="18.00.00.00" Text="18.00.00.00 [ ] Pain - use FEC rank for involved body part." />
            </asp:DropDownList>
    
    
    
            <asp:TextBox ID="txtUpperExtremity" MaxLength="2" ClientIDMode="Static" Width="40px" runat="server"></asp:TextBox>
    
            <asp:TextBox ID="txtLowerExtremity" MaxLength="2" ClientIDMode="Static" Width="40px" runat="server"></asp:TextBox>
    
            <asp:TextBox name="txtDigits" MaxLength="2" ClientIDMode="Static" ID="txtDigits" Width="40px" runat="server"></asp:TextBox>
    
    <script type="text/javascript">
        function jsFunction() {
            var expression = document.getElementById("ddlImpairment").selectedIndex;
    
            switch (expression) {
                case 1:
                    document.getElementById("txtLowerExtremity").readOnly = true;
                    document.getElementById("txtUpperExtremity").readOnly = false;
                    document.getElementById("txtDigits").readOnly = false;
                    break;
                case 2:
                    document.getElementById("txtLowerExtremity").readOnly = false;
                    document.getElementById("txtUpperExtremity").readOnly = true;
                    document.getElementById("txtDigits").readOnly = false;
                    break;
                case 3:
                    document.getElementById("txtLowerExtremity").readOnly = false;
                    document.getElementById("txtUpperExtremity").readOnly = false;
                    document.getElementById("txtDigits").readOnly = true;
                    break;
                case 4:
                    document.getElementById("txtLowerExtremity").readOnly = false;
                    document.getElementById("txtUpperExtremity").readOnly = false;
                    document.getElementById("txtDigits").readOnly = false;
                    break;
    
                default:
                    //do nothing
            }
        }
    </script>
    

    Дайте мне знать, если вам нужна дополнительная помощь.