javascript - 如何在jsp中访问动态创建的文本框

标签 javascript jsp datagrid jakarta-ee

我正在尝试创建自己的 GridView 。在这里,我从数据库中检索食品并将其存储到动态创建的表中。这些表有很多行,所有行都有一个文本框来输入特定项目的数量。我希望此文本框仅在选中该复选框时启用。

如何执行此代码。

我用了一整天的时间来寻找这个问题的答案。我是 j2ee 应用程序的初学者。 请帮我。

请推荐一些站点以查找可访问和可编辑的数据网格示例的脚本。

该jsp页面的代码如下:

<%@ page import="java.sql.*" %> 
<%@ page import="java.io.*" %>  
<html> <head><title>orderSample</title>

    <script language="JavaScript"> <!--

    function enable_text(status,i) { status=!status;  document.orderForm.NAME_TEXT('i').disabled
    = status;///////here is the problem. how to insert i here . i want to do something like this//// } //--> </script>

    </head> 
<body bgcolor="white"> 
<form method=post name=orderForm> 
<h1>Data from the table 'item details' of database 'caffe' in sql </h1> 
<% ResultSet r=null; r=(ResultSet)request.getAttribute("message"); System.out.println(r); int i = 0; %> 
<TABLE cellpadding="15" border="1" style="background-color: #ffffcc;">    <TR>
             <TD>ORDER ID</TD>
            <TD>ORDER PRICE</TD>
            <TD>Quantity</TD>
            <TD>Add Item</TD>
            </TR>
        <%do{

            System.out.println("I am in Ob");
        %>
        <TR>
            <TD><%=r.getString(1)%></TD>
            <TD><%=r.getString(2)%></TD>       
           <!--  <td><INPUT TYPE="TEXT" NAME="NAME_TEXT<%=i%>" VALUE="" IsEnabled="{Binding ElementName=checkBox1, Path=IsChecked}"/></td>-->
            <td><INPUT TYPE="TEXT" NAME="NAME_TEXT<%=i%>" VALUE="" /></td>
            <td><input type="checkbox" name="others<%=i%>" onclick="enable_text(this.checked,<%=i%>)"
    ></td>
        </TR>    <%i++; }while(r.next()); %>
        </TABLE>
        </form> 
</body> 
</html>

最佳答案

要使用 JavaScript 在同一表格行中使用复选框启用输入文本字段,最简单的方法是获取 jQuery .

首先,为表格行中的复选框和输入字段指定一个类名。

<td><input type="checkbox" class="add" /></td>
<td><input type="text" class="quantity" /></td>

然后,你可以使用jQuery

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
    $(document).ready(function() {
        $('.add').click(function() {
            $(this).closest('tr').find('.quantity').attr('disabled', !this.checked);
        });
    });
</script>

这基本上用 class="add" 告诉每个复选框单击时它应该查找最近的父项 <tr>元素,然后使用 class="quantity" 定位元素然后设置它的 disabled属性与复选框的选中状态相反。

关于javascript - 如何在jsp中访问动态创建的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5284721/

相关文章:

c# - WPF C# - DataGrid 在用户按键上选择项目

javascript - 通过延迟图像来加快页面加载速度

javascript - 从 Laravel 中的先前选择填充选择选项

javascript - 未捕获的类型错误 : Cannot read property 'change' of undefined

javascript - Ruby 中的 JS 风格对象引用

java - Tomcat NoClassDefFoundError

java - 将jsp页面的值与数据库值进行比较空指针异常

java - Spring 应用程序根变量

WPF 数据网格 : CellEditingTemplate ComboBox multiple data to CellTemplate TextBox

apache-flex - 在 itemEditor 中触发 itemEditEnd 事件