2014-04-07 66 views
0

我需要一些关于javascript/jquery或ajax的帮助。 我正在写一个Java Web应用程序,并有关于表的问题。 我需要有可能编辑一个(并且只有一个指定的单元格)。在这种情况下,我有“状态”字段。当点击这个值时,我想有一个有两种可能性的下拉列表:“主动”和“被动”。在表格中编辑指定的单元格 - jsp

我试图弄清楚,但没有成功。 这里是我的代码:

<body> 
    <table border = "1"> 
     <tr> 
      <td>name</td> 
      <td>surname</td> 
      <td>status</td> 
     </tr> 
     <tr> 
      <td> Adam</td> 
      <td>Smith</td> 
      <td id = "status" onclick = "update(this.id)">active</td> 
     </tr> 
    </table> 

    <script type = "text/javascript"> 
function update(id){ 
var content = document.getElementById(id).firstChild.nodeValue; 
document.getElementById(id).innerHTML = "<input type = 'text' name = 'txtNewInput' id = 'txtNewInput' value = '" + content + "'/>"; 
    } 
    </script> 
</body> 

在这种情况下,当我在单元格单击值更改为“零”,它是不可编辑的了。

+0

为什么不先让他们成为''? – developerwjk

+0

嗯,我试图简化... 问题是我从数据库中用java标记获取数据: 所以我不想输入任何东西到一个空的领域,但更新现有的价值,并将其保存到数据库之后。 – kamirru

+0

正如我不能编辑自己的帖子呢,下面是HTML表,我有: \t \t

\t \t \t \t \t \t \t​​名 \t \t \t \t​​姓氏 \t \t \t \t​​状态 \t \t \t \t \t \t \t \t \t \t \t \t \t​​ \t \t \t \t​​ \t \t \t \t \t \t \t \t \t \t \t \t
人员在控制器中指定,所以没有申报视图 – kamirru

回答

0

你想要做这样的事情:

<td> 
    <input 
     type='text' 
     name='txtNewInput' 
     id='txtNewInput' 
     value='<c:out value="${person.status}" />' 
     onChange='AjaxCallToUpdateDB(this.id, this.value)' 
    /> 
</td> 

实际发送更新到数据库中,当用户进行了更改需要比赚更多的这样的一个input:你需要一个Ajax调用一个Servlet来拯救数据库中的值。

+0

不是真的... 我可以这样做: \t \t \t \t \t \t \t​​<选择ID = “selectStatus”> \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t 但我希望它是点击一个特定的细胞后,可编辑和只有已选定单元格可编辑。 – kamirru