2017-01-16 2 views
0

Я пытаюсь иметь функцию ontextchanged, так что в основном, когда пользователь вводит что-то в txtpart, я хочу иметь возможность проверить gridview и посмотреть, существует ли эта часть в gridview. если я хочу изменить цвет фона этой строки на зеленый.Как изменить цвет фона строки с помощью javascript, когда пользователь вводит текст в текстовое поле

Как это сделать с помощью javascript?

<asp:GridView ID="gvOrderItems" runat="server" GridLines="None" Visible="true" CssClass="reportGrid" 
    AlternatingRowStyle-CssClass="alt" HeaderStyle-CssClass="hdr" RowStyle-CssClass="row" 
    AllowPaging="false" ShowFooter="false" AutoGenerateColumns="False" BorderStyle="Solid" BorderWidth="1px"> 
    <Columns> 
     <asp:BoundField DataField="part_nbr" HeaderText="Part #" ItemStyle-Width="200px" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" /> 
     <asp:BoundField DataField="qty_requested" HeaderText="Qty" HeaderStyle-HorizontalAlign="Center" 
      ItemStyle-HorizontalAlign="Center" /> 
    </Columns> 
    <RowStyle HorizontalAlign="Left" /> 
</asp:GridView>    

<br /><br /><br /> 

<asp:TextBox ID="txtpart" runat="server" Width="125px" Visible="true" ></asp:TextBox> 

код за файл (.cs):

protected void Page_Load(object sender, EventArgs e) 
{ 
    DataTable dt = new DataTable(); 
    dt.Columns.Add("part_nbr"); 
    dt.Columns.Add("qty_requested"); 

    var dr = dt.NewRow(); 
    dr["part_nbr"] = "part1"; 
    dr["qty_requested"] = "1"; 
    dt.Rows.Add(dr); 

    var dr2 = dt.NewRow(); 
    dr2["part_nbr"] = "part2"; 
    dr2["qty_requested"] = "1"; 
    dt.Rows.Add(dr2); 

    var dr3 = dt.NewRow(); 
    dr3["part_nbr"] = "part3"; 
    dr3["qty_requested"] = "1"; 
    dt.Rows.Add(dr3); 

    gvOrderItems.DataSource = dt; 
    gvOrderItems.DataBind(); 
} 

ответ

0

Как об этом:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#<%= gvOrderItems.ClientID %> input[type="text"]').keydown(function() { 
      $(this).closest('tr').children('td, th').css('background-color', '#ff0000'); 
     }); 
    }); 
</script> 

Он будет связывать функцию keydown к каждому TextBox в GridView и изменить фон цвет каждого TD и TH - красный.

Вы также можете установить цвет фона непосредственно на TR, но некоторые старые браузеры не могут справиться с этим (IE).

$(this).closest('tr').css('background-color', '#ff0000'); 
Смежные вопросы