验证Asp:DataList

时间:2010-10-12 04:57:49

标签: asp.net jquery html

我有一个asp DataList如下。我有一个Checkbox,如果我点击复选框,我需要为相应的文本框输入一个数字。如何验证它。如果我单击一个复选框,我必须在文本框中输入一些值(int)。需要仅对点击的人进行验证。提前谢谢!

 <asp:DataList ID="dlstEnergyItems" runat="server"
    RepeatColumns="4" RepeatDirection="Horizontal"  Width="100%">
    <ItemTemplate>
        <asp:CheckBox ID="cbEnergyItems" runat="server" />
        <asp:HiddenField ID="HdfEnergy" runat="server" />
        <asp:HiddenField ID="HdfEnergyCID" runat="server" />
        <asp:TextBox ID="txtBox" runat="server" />
    </ItemTemplate>
</asp:DataList>

3 个答案:

答案 0 :(得分:0)

使用ajax控件验证器为每个复选框插入asp textr框,并使其可见性和验证为false。在检查事件中,使其可见并设置为true以进行验证。因此,通过使用ajaxcontrol验证器,您可以验证文本框...

答案 1 :(得分:0)

$("#dlstEnergyItems").find("input[type='checkbox']").change(function(){
 var checkbox = $(this);
 var tr = checkbox.closest("tr");
 var textbox = tr.find("input[type='text']");

 if(!checkbox.is(":selected")){ 
  textbox.unbind("blur");
  return;
 }
 else{
  textbox.focus();
  textbox.blur(function(){
   if(textbox.val().length == 0){
    alert("pls fill textbox");
    textbox.focus();
   }
  });
 }

});

答案 2 :(得分:0)

这对我来说很糟糕

 function chkEnergy() {
      var fails = $('.check:has(input:checked)').next("[value=0]").length;
      if (fails > 0) showStatus(true, "Please specify the Quantity");
      return fails === 0;
    }

thnks Nick Craver