2010-10-12 51 views
0

我有一個asp數據列表如下。在這裏我有一個複選框,我需要爲相應的文本框輸入一個數字,如果我點擊複選框。如何驗證它。如果我點擊了一個複選框,我必須在文本框中輸入一些值(int)。只需要驗證那些clicked.Thanks提前!Validation for Asp:DataList

<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> 

回答

0

如果用戶選擇的話,會需要,如果他想選擇5 items.It將聯繫服務器5倍,從server.Suppose執行此wors對我很好

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尼克Craver

0

爲每個帶有ajax控件驗證程序的複選框插入asp textr框,並將其可見性和驗證視爲false。在檢查事件上使其可見並將其設置爲驗證。因此,通過使用ajaxcontrol驗證程序,您可以驗證文本框...

+0

有沒有其他可行的方法來做到這一點? – kbvishnu 2010-10-12 05:13:07

+0

你不知道阿賈克斯...使用阿賈克斯加快 – Nithesh 2010-10-12 05:31:36

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(); 
    } 
    }); 
} 

});