如果我点击那里的编辑按钮,我想在我的表格中显示一行来编辑上面一行中的对象。 该表看起来像:
<table id="Table">
<thead>
<tr>
<th>@Html.Label("Name", "Name")</th>
<th>@Html.Label("ID", "ID")</th>
<th>@Html.Label("OtherFields", "Other fields")</th>
<th></th>
<th></th>
</tr>
</thead>
@for (int i = 0; i < Model.models.Count(); i++)
{<tr>
@Html.Hidden("Name", @Model.Name)</td>
<td>@Html.Label("ID", @Model.ID)</td>
<td>@Html.Label("OtherFields", @Model.OtherFields)</td>
<td> <button type="button"name="ShowEditButton" value="@i" id="EditButton" onclick="ShowEdit(@i)">Edit</button>
</td>
<td>
<button name="deleteButton" value="@i" class="formbutton" id="DeleteButton" onclick="DoNotPrompt()">Delete</button></td>
</tr>
<tr id="Details(@i)" style="display:none;">
<td colspan="4">..........</td>
<td>
<button name="acceptButton" value="@i" class="formbutton" id="AcceptButton" onclick="SaveEdit(@i)">Accept</button></td>
</tr> }
</table>
我的jQuery方法是
function ShowEdit(i) {
$('#Details('+i+')').style.display = 'table-row';
}
我还尝试将hidden:"hidden"
用于行,并在Javascript中使用show()
。
我也用调试器检查它,方法被调用,但它不会向我显示任何内容。在我的应用程序中,带有数据的行要大得多,导致几个一对多的关系和查找表,在显示它的行中编辑它会非常困惑。所以我想让用户有机会在信息下面的行中编辑它。然后AcceptButton
会将其发送到服务器。有谁能够帮我?可能是我尝试做的不可能吗?
问题已解决:我必须从id
中移除括号并将其替换为_
以使其运行
答案 0 :(得分:0)
不确定但您没有调用所需的功能:
onclick="ShowEdit(@i)"
onclick="DoNotPrompt()"
onclick="SaveEdit(@i)"
,您的功能是"ShowMutationEdit()"
:
function ShowMutationEdit(i) {
$('#MutationDetails('+i+')').style.display = 'table-row';
}
In my application the row with the data is much bigger
因此,您正在为每个按钮使用ID,因为它处于循环中,并且在id属性方面存在许多重复项。
function ShowEdit(i) {
$('#Details('+i+')')[0].style.display = 'table-row';
}//---------------------^^^--------------------try adding this
和此:
function ShowEdit(i) {
$('#Details('+i+')').show();
}//---------------------^^^^^^^--------------------try adding this