js如何控制DataGrid里元素的可见性
- HTML code
<asp:DataGrid ID="DataGrid_Profession" runat="server"> <ItemStyle HorizontalAlign="Center"></ItemStyle> <HeaderStyle Font-Bold="True" HorizontalAlign="Center" BackColor="#E4ECF8"></HeaderStyle> <Columns> <asp:TemplateColumn HeaderText="专业名称"> <ItemTemplate> <span id="span_ProfessionName" runat="server"> <%#Eval("profession_Name") %></span> <input type="text" value='<%#Eval("profession_Name") % visible="false" runat="server" id="tb_Profession_Name" /> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="操作"> <ItemTemplate> <input type="button" value="修改" id="btn_Update"/> </ItemTemplate> </asp:TemplateColumn> </Columns> <PagerStyle Mode="NumericPages"></PagerStyle> </asp:DataGrid>点击修改按钮,使tb_Profession_Name显示,求大神帮忙,小弟不胜感激!
[解决办法]
只有给你的tb_Profession_Name定义一个class,如<input type="text" value='<%#Eval("profession_Name") % visible="false" runat="server" id="tb_Profession_Name" CssClass="test" />
修改按钮:
<input type="button" value="修改" id="btn_Update" onclick="testShow($(this))"/>
用JQUERY写:
<script type="text/javascript">
function testShow(obj){
obj.parent().prev().children(".test").show();
}
</script>
[解决办法]
不定义class也行,JQUERY里直接写:<script type="text/javascript">
function testShow(obj){
obj.parent().prev().children("input").show();
}
</script>
[解决办法]
最好用jquery,用JS有的浏览器获取到的是不同的ID。
[解决办法]
楼上用的就是jq
- JScript code
$(function () { $("input:button[id$='btn_Update']").click(function () { $(this).parent().prev().children("input:text[id$='tb_Profession_Name']").show(); }) })