【发布时间】:2014-06-27 15:43:11
【问题描述】:
我是 jQuery 和 JavaScript 的新手。我正在尝试单击表格中的“编辑”按钮并使整行可编辑。由于某种原因,它不起作用。我认为它只是查看编辑按钮所在的单元格,但我不确定如何将整行更改为可编辑(编辑按钮字段除外)。我尝试将 contenteditable 从 td 标记级别移动到 tr 标记级别,但它没有修复它。我以this link 为例,但我认为我缺少一些东西。这是我的代码的样子:
<head>
<title></title>
<script type="text/javascript" src="js/jquery-1.11.0.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#btnHide').click(function() {
//$('td:nth-child(2)').hide();
// if your table has header(th), use this
$('td:nth-child(3),th:nth-child(3)').hide();
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){
$('.editbtn').click(function(){
$(this).html($(this).html() == 'Edit' ? 'Save' : 'Edit');
if('td[contenteditable=true]')) {
'td[contenteditable=false]');
}
else if('td[contenteditable=false]')){
'td[contenteditable=true]');
}
//else not editable row
}); //moved this
});
</script>
</head>
<body>
<table id="tableone" border="1">
<thead>
<tr><th class="col1">Header 1</th><th class="col2">Header 2</th><th class="col3">Header 3</th><th class="col3">Header 4</th></tr>
</thead>
<tr class="del">
<td contenteditable="false">Row 0 Column 0</td> //changed to false after experiment
<td><button class="editbtn">Edit</button></td>
<td contenteditable="false">Row 0 Column 1</td>
<td contenteditable="false">Row 0 Column 2</td>
</tr>
<tr class="del">
<td contenteditable="false">Row 1 Column 0</td>
<td><button class="editbtn">Edit</button></td>
<td contenteditable="false">Row 1 Column 1</td>
<td contenteditable="false">Row 1 Column 2</td>
</tr>
</table>
<input id="btnHide" type="button" value="Hide Column 2"/>
</body>
【问题讨论】:
-
我不遵循你的 if/else if 块试图做什么。
-
如果单元格设置为可编辑,则将其更改为不可编辑。如果它不可编辑,请将单元格更改为可编辑。
-
但是语法没有意义。
-
好吧,我尝试在函数中移动 }),希望现在更好。我注意到我的保存/编辑按钮在单击时停止更改。对于那个很抱歉。就像我说的,我是 JS 和 JQ 的新手,所以我可能在某个地方弄错了语法。这是我第一次尝试 JavaScript。
标签: javascript jquery html