Javascript PHP-如何将值从上一个文本框传递到同一页面上新创建的行?
我计划用一个表格来注册新老师(见下图)。教师可以分配到不同的班级教授不同的科目 当通过单击按钮(+)创建新行时,是否可以将值从第1行的textbox(AAAA)传递到第2行的textbox 我不希望用户在某些文本框中键入相同的值时感到痛苦——这些值将是相同的。只有[Subject-Teached]和[Class-Teached]列可能不同,因此我希望在创建每一新行时将这些列留空 我的代码如下:Javascript PHP-如何将值从上一个文本框传递到同一页面上新创建的行?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我计划用一个表格来注册新老师(见下图)。教师可以分配到不同的班级教授不同的科目 当通过单击按钮(+)创建新行时,是否可以将值从第1行的textbox(AAAA)传递到第2行的textbox 我不希望用户在某些文本框中键入相同的值时感到痛苦——这些值将是相同的。只有[Subject-Teached]和[Class-Teached]列可能不同,因此我希望在创建每一新行时将这些列留空 我的代码如下: 视图列表 姓名(首字母) 用户名 密码 角色 指定的班级 授课科目 课堂教学 提交 重置 $
视图列表
姓名(首字母)
用户名
密码
角色
指定的班级
授课科目
课堂教学
提交
重置
$(文档).ready(函数(){
$(文档)。在('单击','添加',函数()上){
var html='';
html+='';
html+='';
html+='';
html+='';
html+='选择…管理员窗体MasterStaff';
html+=“选择…”;
html+=“选择…”;
html+=“选择…”;
html+='';
$(“#staff_table”).append(html);
});
$(文档)。在('单击','删除',函数()上){
$(this).closest('tr').remove();
});
$(“#插入表格”)。在('submit',函数(事件){
event.preventDefault();
var错误=“”;
$('.initials')。每个(函数(){
var计数=1;
if($(this.val()='')
{
错误=“请输入所需信息””;
返回false;
}
计数=计数+1;
});
$('.user_name')。每个(函数(){
var计数=1;
if($(this.val()='')
{
错误=“请输入所需信息””;
返回false;
}
计数=计数+1;
});
$('.password')。每个(函数(){
var计数=1;
if($(this.val()='')
{
错误=“请输入所需信息””;
返回false;
}
计数=计数+1;
});
$('.role')。每个(函数(){
var计数=1;
if($(this.val()='')
{
错误=“请输入所需信息””;
返回false;
}
计数=计数+1;
});
$('.class_assigned')。每个(函数(){
var计数=1;
if($(this.val()='')
{
返回true;
}
计数=计数+1;
});
$('.subject_-teached')。每个(函数(){
var计数=1;
if($(this.val()='')
{
错误=“请输入所需信息””;
返回false;
}
计数=计数+1;
});
$('.class_-teached')。每个(函数(){
var计数=1;
if($(this.val()='')
{
错误=“请输入所需信息””;
返回false;
}
计数=计数+1;
});
var form_data=$(this).serialize();
如果(错误=“”)
{
$.ajax({
url:“staff_insert.php”,
方法:“张贴”,
数据:表格数据,
成功:功能(数据)
{
如果(数据=='ok')
{
$(“#staff_table”).find(“tr:gt(0)”.remove();
$('#error').html('保存员工详细信息');
}
}
});
}
其他的
{
$('#error').html(''+error+'');
}
});
});
某些字段未填充,因为此处无法检索服务器端的数据。Bu您可以看到角色
列的示例
在代码段中查找此部分:
// Here is were you can do the conditional and copying part
var last_row_role_sel_val = $('#staff_table tr:last td:nth-child(4) select option:selected').val();
var last_row_role_sel_html = $('#staff_table tr:last td:nth-child(4) select option:selected').html();
console.log('last_row_role_sel_val',last_row_role_sel_val);
console.log('last_row_role_sel_html',last_row_role_sel_html);
以及更换零件
if (last_row_role_sel_val!=undefined && last_row_role_sel_val!="") {
html += '<td><select name="role[]" class="form-control role"><option value="'+last_row_role_sel_val+'">'+last_row_role_sel_html+'</option></select></td>';
} else {
...
视图列表
姓名(首字母)
用户名
密码
角色
指定的班级
授课科目
课堂教学
+
提交
重置
在表单提交过程中,您的意思是什么?代码片段仅适用于语言(javascript),因此您应该像code
一样放置代码,而不是代码片段。这在某种程度上也适用于你的问题,因为你必须问自己复制过程应该在哪里进行,在(PHP)或客户端(javascript/jquery)。@clearshot66,不!不在表格上提交。在新的一排。单击绿色(加号)按钮时。@Sanxofon,谢谢,我已经更正了代码片段。在提交之前,我希望复制过程在客户端进行。您可以使用jquery clone复制包含其值的行并附加,然后清空复制行中不需要值的文本框。这太棒了!它起作用了。然而,你认为我能做些什么来让其他人变得更强大?我真的需要这些。谢谢我在想:如果我有前五个输入(姓名、用户名、密码、角色和类分配)分别留下。。。(不是行的一部分),我如何让该用户在表中显示其他两列(主题教学和课堂教学)的行数?您也可以这样做。。。我已经更新了前5个字段的代码片段。哇@桑克索丰,你真是个天才!我可以拥抱你吗?非常感谢你。多么完美的解决方案!我希望我能放弃投票权——在我能做到这一点之前,我需要更多的声誉。