【发布时间】:2013-01-15 03:46:59
【问题描述】:
我已经编写了 html 文件,并在其中创建了一个表格。所以对于每一行我想定义添加、编辑和删除链接。
html文件的代码如下:
<div id="users-contain" class="ui-widget">
<h1>Existing Users:</h1>
<table id="users" class="ui-widget ui-widget-content">
<thead>
<tr class="ui-widget-header ">
<th>Name</th>
<th>Email</th>
<th>Password</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td class="custom-name">John Doe</td>
<td>john.doe@example.com</td>
<td>johndoe1</td>
<td><a href="">Edit</a></td>
<td><span class="delete"><a href="">Delete</a></span></td>
</tr>
</tbody>
</table>
</div>
<button id="create-user">
Create new user
</button>
添加动作的模态如下:
<div id="dialog-form" title="Create new user">
<p class="validateTips">
All form fields are required.
</p>
<form>
<fieldset>
<label for="first_name">First Name</label>
<select id="first-name">
<option value="1">Arun</option>
<option value="2">Ganesh</option>
<option value="3">Suresh</option>
<option value="4">Sanganabasu</option>
</select>
<label for="last_name">Last Name</label>
<select id="last-name">
<option value="1">Hulagabal</option>
<option value="2">Cheemalamudi</option>
<option value="3">Ganiger</option>
<option value="4">Kattriguppe</option>
</select>
<label for="email">Email</label>
<input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" />
<label for="password">Password</label>
<input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
Javascript 代码如下:
$(function() {
var fname = $("#first-name"), lname = $("#last-name"), email = $("#email"), password = $("#password");
$("#dialog-form").dialog({
autoOpen : false,
height : 300,
width : 350,
modal : true,
buttons : {
"Create an account" : function() {
$("#users tbody").append("<tr>" + "<td>" + (fname.find("option:selected").text()+' ').concat(lname.find("option:selected").text())+ "</td>" + "<td>" + email.val() + "</td>" + "<td>" + password.val() + "</td>" + "<td><a href='' class='edit'>Edit</a></td>" + "<td><span class='delete'><a href=''>Delete</a></span></td>" + "</tr>");
$(this).dialog("close");
},
Cancel : function() {
$(this).dialog("close");
}
},
close : function() {
allFields.val("").removeClass("ui-state-error");
}
});
$('span.delete').live('click', function() {
$(this).closest('tr').find('td').fadeOut(1000,
function(){
// alert($(this).text());
$(this).parents('tr:first').remove();
});
return false;
});
$("#create-user").button().click(function() {
$("#dialog-form").dialog("open");
});
});
添加和删除操作现在正在运行,我创建了一个http://jsfiddle.net/sangu0009/FvAuZ/,但我需要编写编辑操作。请帮助我解决如何做到这一点。工作更受赞赏。
【问题讨论】:
-
首先,您使用
select作为名字和姓氏创建用户表单,我认为没有可能的组合来制作 John Doe -
基本上,您应该调用相同的创建用户对话框(
var dlg=$('#dialog-form').clone();dlg.dialog({title: 'edit user'})并将当前数据从行设置为表单字段,在提交时重新生成行并将其标记为已更改(row.data('changed',true)) -
@eicto 我创建了jsfiddle.net/sangu0009/FvAuZ。请通过它并帮助我。
-
正如我所说,我帮不上忙,因为这里
select是名字/姓氏...我也不打算在这里编写代码
标签: jquery html html-table