2017-01-03 2 views
1

Ich habe einen Repeater:jQuery entfernen Eingabewert in einem Repeater

<asp:Repeater ID = "rpQuestion8" runat = "server" > 
        <ItemTemplate> 
         <tr> 
          <td> 
           <asp:DropDownList ID = "ddCounty" runat = "server" AutoPostBack="true" /> 
           <input type = "hidden" id = "hidSurveyCustomerAreaID" runat = "server" value = '<%#showData(Container.DataItem, "SurveyCustomerAreaID")%>' /> 
          </td> 
           <td> 
           <asp:radiobutton id = "radStillStandHuntMethod" text = "Still/Stand" runat = "server" GroupName = "Question8HuntMethod"/> 
           &nbsp;&nbsp;&nbsp; 
           <asp:radiobutton id = "radDogHuntMethod" text = "Dog" runat = "server" GroupName = "Question8HuntMethod"/> 
          </td> 
          <td> 
           <asp:TextBox ID = "txtDaysHunted" runat = "server" Width = "50" text = '<%#showData(Container.DataItem, "DaysHunted")%>'/> 
           <asp:CompareValidator ID = "cvNumDays" runat = "server" ControlToValidate = "txtDaysHunted" Operator = "DataTypeCheck" Type = "Integer" Text = "*" ErrorMessage = "Please enter a whole number for Days Hunted." /> 
          </td> 
          <td> 
           <asp:radiobutton id = "radYesUnprocessedFood" text = "Yes" runat = "server" GroupName = "Question8UnprocessedFood" /> 
           &nbsp;&nbsp;&nbsp; 
           <asp:radiobutton id = "radNoUnprocessedFood" text = "No" runat = "server" GroupName = "Question8UnprocessedFood" /> 
          </td> 
          <td> 
           <asp:TextBox ID = "txtNumSeen" runat = "server" Width = "50" text = '<%#showData(Container.DataItem, "NumberSeen")%>' /> 
           <asp:CompareValidator ID = "cvBearsSeen" runat = "server" ControlToValidate = "txtNumSeen" Operator = "DataTypeCheck" Type = "Integer" Text = "*" ErrorMessage = "Please enter a whole number for Number of Bears Seen." /> 
          </td> 
          <td> 
           <asp:radiobutton id = "radYes" text = "Yes" runat = "server" GroupName = "Question8Harvest" /> 
           &nbsp;&nbsp;&nbsp; 
           <asp:radiobutton id = "radNo" text = "No" runat = "server" GroupName = "Question8Harvest" /> 
          </td> 
         </tr> 
        </ItemTemplate> 
    </asp:Repeater> 

jQuery:

<script src="../../../Javascript/jquery.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function ddCountyChange(sender) { 
      if (sender.value === "") { 
       $(sender).parent().siblings().find("input").attr("disabled", "disabled"); 
       $(sender).parent().siblings().find("input").val(''); 
       $(sender).parent().siblings().find("input").prop('checked', false); 
       $(sender).parent().siblings().find("label").css("color", "#cccccc"); 
       $(sender).parent().siblings().find("input").val(''); 
      } else { 
       $(sender).parent().siblings().find("input").removeAttr('disabled'); 
       $(sender).parent().siblings().find("label").css("color", "#000000"); 
      } 
     } 
    </script> 

Ich möchte den Wert des verborgenen Eingang entfernen können (id = "hidSurveyCustomerAreaID"). Der obige jQuery-Code erledigt das für alle Eingaben im Repeater mit Ausnahme von (id = "hidSurveyCustomerAreaID").

+0

Haben Sie versucht, '

+0

Da die hidSurveyCustomerAreaID ein Serversteuerelement ist (runat = server), kann die tatsächliche ID anders sein als erwartet. Es könnte ctrl0_hidSurveyCustomerAreaID oder so etwas sein. –

+0

@Null \t Ich tat, es tut die gleiche Sache HtmlHiddenInput tut – Wafae

Antwort

1

Ich habe dies dem JQuery-Code:.

$(sender).parent().find("input").val(''); 

Bestimmt den Eingangs zugreift, die in der gleichen td ist, dass das Dropdownlist in ist

function ddCountyChange(sender) { 
     if (sender.value === "") { 
      $(sender).parent().siblings().find("input").attr("disabled", "disabled"); 
      $(sender).parent().siblings().find("input").val(''); 
      $(sender).parent().find("input").val(''); 
      $(sender).parent().siblings().find("input").prop('checked', false); 
      $(sender).parent().siblings().find("label").css("color", "#cccccc"); 
     } else { 
      $(sender).parent().siblings().find("input").removeAttr('disabled'); 
      $(sender).parent().siblings().find("label").css("color", "#000000"); 
     } 
    } 
+1

Gut gefunden (Wortspiel beabsichtigt;) Ich verpasste, dass Sie nur auf die Geschwister TDs und nicht TD die Dropdown-Liste befindet in. Da find() alle Kinder bekommt, könntest du auch die Suche auf der TR durchführen und sie alle in einem Rutsch statt durch zwei Aufrufe erhalten: 'var inputs = $ (sender) .parent(). parent(). finden ('Eingabe'); inputs.val (''); ' –

+0

@FrankWitte genau! Das habe ich auch vermisst. Vielen Dank für Ihre Zeit :) – Wafae

Verwandte Themen