Код Jquery для включения отключения флажка

#javascript #jquery #html #.net

#javascript #jquery #HTML #.net

Вопрос:

Привет, я хочу преобразовать код функции javascript в jquery. кто-нибудь может помочь с этим? Ниже приведена моя функция javascript с HTML-кодом.

  <script type="text/javascript">
    function enableTextBox() {
        if (document.getElementById("chkCropLoan").checked == true)
            document.getElementById("txtAmount").disabled = false;
        else
            document.getElementById("txtAmount").disabled = true;
        if (document.getElementById("chkInvestmentLoan").checked == true)
            document.getElementById("txtInvestmentLoan").disabled = false;
        else
            document.getElementById("txtInvestmentLoan").disabled = true;

        if (document.getElementById("chkWarehouseReceipt").checked == true)
            document.getElementById("txtWarehouseReceipt").disabled = false;
        else
            document.getElementById("txtWarehouseReceipt").disabled = true;

        if (document.getElementById("chkFarmerProd").checked == true)
            document.getElementById("txtFarmerProd").disabled = false;
        else
            document.getElementById("txtFarmerProd").disabled = true;
    }
</script>
  

Здесь начинается HTML-код для флажка и текстового поля

 <table>
    <tr>
        <td>Crop Loan</td>
        <td>
            <%--<asp:TextBox ID="TextBox1" runat="server" class="txtfld-popup1" MaxLength="10" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;"></asp:TextBox>--%>
                <asp:CheckBox ID="chkCropLoan" runat="server" CssClass="check" OnChange="javascript:enableTextBox();" />
        </td>
    </tr>
    <tr>
        <td>Amount</td>
        <td>
            <%--<asp:TextBox ID="TextBox1" runat="server" class="txtfld-popup1" MaxLength="10" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;"></asp:TextBox>--%>
                <asp:TextBox ID="txtAmount" runat="server" class="txtfld-popup1" MaxLength="5" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;" Enabled="false"></asp:TextBox>
                <%-- <cc1:TextBoxWatermarkExtender ID="txtAmount_TextBoxWatermarkExtender" runat="server" TargetControlID="txtAmount" WatermarkText="Enter Crop loan Amount"></cc1:TextBoxWatermarkExtender>--%>
                    <asp:RegularExpressionValidator ID="rgfldvalidator" ControlToValidate="txtAmount" runat="server" ErrorMessage="Please enter the numbers only" ValidationExpression="^[0-9]*.?[0-9] $"></asp:RegularExpressionValidator>
        </td>
    </tr>
    <tr>
        <td>Investment Loan</td>
        <td>
            <%--<asp:TextBox ID="TextBox1" runat="server" class="txtfld-popup1" MaxLength="10" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;"></asp:TextBox>--%>
                <asp:CheckBox ID="chkInvestmentLoan" runat="server" CssClass="check" OnChange="javascript:enableTextBox();" />
        </td>
    </tr>
    <tr>
        <td>Amount</td>
        <td>
            <%--<asp:TextBox ID="TextBox1" runat="server" class="txtfld-popup1" MaxLength="10" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;"></asp:TextBox>--%>
                <asp:TextBox ID="txtInvestmentLoan" runat="server" class="txtfld-popup1" MaxLength="5" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;" Enabled="false"></asp:TextBox>
                <%--<cc1:TextBoxWatermarkExtender ID="txtInvestmentLoan_TextBoxWatermarkExtender" runat="server" TargetControlID="txtInvestmentLoan" WatermarkText="Enter Investment loan Amount"></cc1:TextBoxWatermarkExtender>--%>
                    <asp:RegularExpressionValidator ID="RegularExpressionValidator3" ControlToValidate="txtInvestmentLoan" runat="server" ErrorMessage="Please enter the numbers only" ValidationExpression="^[0-9]*.?[0-9] $"></asp:RegularExpressionValidator>
        </td>
    </tr>
    <tr>
        <td>Warehouse Receipt Finance</td>
        <td>
            <%--<asp:TextBox ID="TextBox1" runat="server" class="txtfld-popup1" MaxLength="10" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;"></asp:TextBox>--%>
                <asp:CheckBox ID="chkWarehouseReceipt" runat="server" CssClass="check" OnChange="javascript:enableTextBox();" />
        </td>
    </tr>
    <tr>
        <td>Amount</td>
        <td>
            <%--<asp:TextBox ID="TextBox1" runat="server" class="txtfld-popup1" MaxLength="10" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;"></asp:TextBox>--%>
                <asp:TextBox ID="txtWarehouseReceipt" runat="server" class="txtfld-popup1" MaxLength="5" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;" Enabled="false"></asp:TextBox>
                <%--<cc1:TextBoxWatermarkExtender ID="txtWarehouseReceipt_TextBoxWatermarkExtender" runat="server" TargetControlID="txtWarehouseReceipt" WatermarkText="Enter Warehouse Receipt Finance Amount"></cc1:TextBoxWatermarkExtender>--%>
                    <asp:RegularExpressionValidator ID="RegularExpressionValidator4" ControlToValidate="txtWarehouseReceipt" runat="server" ErrorMessage="Please enter the numbers only" ValidationExpression="^[0-9]*.?[0-9] $"></asp:RegularExpressionValidator>
        </td>
    </tr>
    <tr>
        <td>Farmer Producer Companies</td>
        <td>
            <%--<asp:TextBox ID="TextBox1" runat="server" class="txtfld-popup1" MaxLength="10" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;"></asp:TextBox>--%>
                <asp:CheckBox ID="chkFarmerProd" runat="server" CssClass="check" OnChange="javascript:enableTextBox();" />
        </td>
    </tr>
    <tr>
        <td>Amount</td>
        <td>
            <%--<asp:TextBox ID="TextBox1" runat="server" class="txtfld-popup1" MaxLength="10" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;"></asp:TextBox>--%>
                <asp:TextBox ID="txtFarmerProd" runat="server" class="txtfld-popup1" MaxLength="5" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;" Enabled="false"></asp:TextBox>
                <%--<cc1:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender11" runat="server" TargetControlID="txtFarmerProd" WatermarkText="Enter Farmer Producer Amount"></cc1:TextBoxWatermarkExtender>--%>
                    <asp:RegularExpressionValidator ID="RegularExpressionValidator5" ControlToValidate="txtFarmerProd" runat="server" ErrorMessage="Please enter the numbers only" ValidationExpression="^[0-9]*.?[0-9] $"></asp:RegularExpressionValidator>
        </td>
    </tr>
</table>
  

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

1. Конечно. Просто опубликуйте то, что вы пробовали, и с чем у вас возникли проблемы.

2. Почему вы хотите это сделать? Ванильный JS намного быстрее.

3. Прежде чем я опубликую ответ, работает ли текущий код?

4. всегда используйте jQuery prop('checked') для получения и установки checked состояния флажка. Кажется, больше ничего не работает везде 🙂

5. Я написал код, но эта функциональность javascript не работает в IE 8, нужен код Jquery или другой способ, чтобы он мог работать

Ответ №1:

Попробуйте это, если вы используете главную страницу, вам может потребоваться изменить идентификатор в следующем коде

 function enableTextBox() {

    if ($("#chkCropLoan").prop("checked") == true)
        $("#txtAmount").prop("disabled", false);
    else
        $("#txtAmount").prop("disabled", true);

    if ($("#chkInvestmentLoan").prop("checked") == true)
        $("#txtInvestmentLoan").prop("disabled", false);
    else
        $("#txtInvestmentLoan").prop("disabled", true);

    if ($("#chkWarehouseReceipt").prop("checked") == true)
        $("#txtWarehouseReceipt").prop("disabled", false);
    else
        $("#txtWarehouseReceipt").prop("disabled", true);

    if ($("#chkFarmerProd").prop("checked") == true)
        $("#txtFarmerProd").prop("disabled", false);
    else
        $("#txtFarmerProd").prop("disabled", true);
}
  

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

1. код не выполняется в IE8.:( что-нибудь еще?