条件不能正常工作而不是在jQuery中改变颜色的颜色

时间:2017-12-11 08:21:24

标签: jquery asp.net

我想为我的表单创建函数,如果任何字段是空的背景颜色变红,否则背景绿色但运行功能后我的条件不正常所有字段都有相同的背景颜色不符合条件正确红色这里是我的代码全部字段显示红色背景颜色亲切帮助

$(document).ready(function(){
   $(".validate").each(function(i){
      var text = ($(this).val());
      alert(text);

      if(text === ''){
       $(".validate").css("backgroundColor","red");
       alert("Enter Value Here")
      }
      else
      {
       $(".validate").css("backgroundColor","green");
      }

HTML代码

 <table id="tblForm" style="width:55%;margin-left:20%;margin-top:2%;border:1px solid">
   <tr>
    <td></td>
    <td></td>
    <td></td>
   </tr>
   <tr>
   <td style="width:20%;border:1px solid;font-size:12px;font-weight:bold;"  >
      <asp:Label  runat="server" ID="lbl_TransactionId_St_M"  Text="Transaction Type:"></asp:Label>

   </td>
   <td style="margin-left:1%;border:1px solid;width:30%;font-size:12px;font-weight:bold;">
       <asp:DropDownList ID="cmbTransType" runat="server" style="width:100%;" CssClass="validate">
       <asp:ListItem Text="Select"></asp:ListItem>
       </asp:DropDownList>
   </td>
   <td style="margin-left:1%;border:1px solid;width:20%;font-size:12px;font-weight:bold;">
     <asp:Label runat="server" ID="lbl_OrderDate_DateTime_M"  Text="Order Date:"></asp:Label>
   </td>
   <td style="margin-left:1%;border:1px solid;width:30%;font-size:12px;font-weight:bold;">
       <asp:TextBox ID="txtOrderDate" runat="server" style="width:98%" CssClass="validate"></asp:TextBox>
   </td>
   </tr>
   <tr>
   <td style="width:20%;border:1px solid;font-size:12px;font-weight:bold;">
      <asp:Label runat="server" ID="lblDocumentType_St_O" CssClass="label" Text="Document Type:"></asp:Label>
   </td>
   <td style="margin-left:1%;border:1px solid;width:30%;font-size:12px;font-weight:bold;">
       <asp:DropDownList ID="cmbDocType" runat="server" style="width:100%;" CssClass="validate">
       <asp:ListItem Text="Select"></asp:ListItem>
       </asp:DropDownList>
   </td>
   <td style="margin-left:1%;border:1px solid;width:20%;font-size:12px;font-weight:bold;">
     <asp:Label runat="server" ID="lblPartyPO_Num_M"  Text="Party PO #:"></asp:Label>
   </td>
   <td style="margin-left:1%;border:1px solid;width:30%;font-size:12px;font-weight:bold;">
       <asp:TextBox ID="txtPONo" runat="server" style="width:98%" CssClass="validate"></asp:TextBox>
   </td>
   </tr>

2 个答案:

答案 0 :(得分:2)

设置背景颜色时,您需要使用this,即当前元素上下文

$(".validate").each(function (i) {
    var text = $(this).val();
    if (text === '') {
        $(this).css("backgroundColor", "red");
        alert("Enter Value Here")
    } else {
        $(this).css("backgroundColor", "green");
    }
});

答案 1 :(得分:0)

你的代码中有拼写错误。使用此:

$(document).ready(function(){
   $(".validate").each(function(i){
      var text = ($(this).val());
      alert(text);

      if(text === ''){
       $(".validate").css("backgroundColor","red");
       alert("Enter Value Here")
      }
      else
      {
       $(".validate").css("backgroundColor","green");
      }