2012-06-08 39 views
1

我有一個包含圖像按鈕的gridview。單擊該圖像按鈕時,將填充另一個包含一些文本框的網格。如果在文本框中插入的值大於gridview的列值之一,我想爲失去焦點的文本框啓動JQuery驗證。該列值使用綁定字段綁定數據。在jQuery的gridview中查找文本框

我怎樣才能實現這個使用JQuery的?我是JQuery中的新成員。

我試過這樣的事情。

<script type="text/javascript" language="javascript"> 
    $(function() { 

     var GridView = $('#grdSalesOrder tr').each(function() { 
      var btn = $(this).find('img[id*=imgdesign1]'); 
      alert(btn); 
     }); 

    }); 
</script> 

首先,我找到該網格視圖的主要gridview和imagebutton。點擊按鈕時,另一個gridview被填充。所以我認爲我應該編寫代碼來查找另一個網格點擊事件的圖像按鈕,因爲在頁面加載事件時,另一個網格將不可用。但是在這段代碼中,我沒有看到主網格視圖中的按鈕。如果我犯了任何錯誤,請編輯我的Jquery。

+0

顯示html代碼...或嘗試jQuery.com – Red

+0

@Dileep Dil..html代碼太大,不能粘貼在這裏... –

回答

1

以下是您可以配置以滿足您的需求的一些JQuery。

它假定您已經添加了一個的CssClass到您的網格視圖像這樣:

<asp:GridView ID="Products" runat="server" CssClass="grid_view"> 

一個的CssClass到您的文本框,如下所示:

<asp:TextBox ID="txtUserInput runat="server" CssClass="user_input" /> 

這綁定列值在你的標題行中。

所以,如果您的網格視圖的HTML輸出表類似於此

<table class="grid_view" cellspacing="0" rules="all" border="1" id="Products" style="border-collapse:collapse;"> 
<tr> 
    <th scope="col">12</th><th scope="col">4</th><th scope="col">21</th> 
</tr> 
<tr> 
    <td>3</td><td>1</td><td>5</td> 
</tr> 
<tr> 
    <td>3</td><td>1</td><td>5</td> 
</tr> 
<tr> 
    <td>3</td><td>1</td><td>6</td> 
</tr> 
<tr> 
    <td>3</td><td>1</td><td>5</td> 
</tr> 
<tr> 
    <td><input type="text" class="user_input" /></td> 
    <td><input type="text" class="user_input" /></td> 
    <td><input type="text" class="user_input" /></td> 
<tr> 
</table> 

你可以使用這個jQuery

<script type="text/javascript"> 
    $('.user_input').blur(function() { 
    var enteredVal = $(this).val(); 
    var currentCell = $(this).closest("td"); 

    col = $(currentCell).prevAll().length; 
    var obj = $(this).parents('table').find('th').eq(col); 
    var hrVal = obj.text(); 

    // your validation here 
    if (parseInt(enteredVal,10) > parseInt(hrVal,10)) { 
     alert('too big'); 
    } 
});​ 
</script> 


看到這個fiddle的工作示例。

+0

..我編輯了我的問題。請再次查看它。 –

+0

使用我的代碼加上.delegate()http://api.jquery.com/delegate/ –

0

這裏的訣竅是如何找到您希望在網格上的每個元素。沒有html代碼,我可以給你一些點擊開始。

這段代碼選擇ID爲你的GridView裏面所有的文本框YourGridViewID

jQuery('#<%=YourGridViewID.ClientID%> input[type=text]') 

,如果你寫的網格一個兩行,也許我補充失去焦點的設置

jQuery('#<%=YourGridViewID.ClientID%> input[type=text]').blur{ 
    // add the code for the validation 
}); 

現在可以幫助您更多地查找其他數據。

+0

@ Aristos ..我編輯了我的問題。請再次查看它。 –