Layui + TP 实现点击添加input表格,添加与赋值

index视图

{extend name="layout/common" /}

{block name="title"}人员管理{/block}
<!--<link href="https://kodo.79524795.vip/jquery/normalize.css" rel="stylesheet">-->
<!--<link href="https://kodo.79524795.vip/jquery/default.css" rel="stylesheet">-->
<!--<link href="https://kodo.79524795.vip/jquery/swipebox.css" rel="stylesheet">-->
<!--<script src="https://kodo.79524795.vip/jquery/ios-orientationchange-fix.js" charset="utf-8"></script>-->
<!--<script src="https://kodo.79524795.vip/jquery/jquery.min.js" charset="utf-8"></script>-->
<!--<script src="https://kodo.79524795.vip/jquery/jquery.swipebox.js" charset="utf-8"></script>-->

{block name="body"}


<div class="layui-fluid">
	<div class="layui-card">
		<div class="layui-form layui-card-header layuiadmin-card-header-auto">
			<div class="layui-form-item">

	
			</div>
		</div>

		<div class="layui-card-body">
			<div style="padding-bottom: 10px;">
				<!-- <button class="layui-btn layuiadmin-btn-useradmin" data-type="batchdel">删除</button> -->
				<button class="layui-btn layuiadmin-btn-useradmin" data-type="add">添加</button>
				<br/>  
			
				搜索课程:
				<div class="layui-inline">
					<input class="layui-input" name="name" id="demoReload" autocomplete="off">
				</div>

				<button class="layui-btn layuiadmin-btn-useradmin" data-type="reload">搜索</button>
			</div>

      <table id="demo" lay-filter="test"></table>
    
 

      <script type="text/html" id="status-tpl">
                	<img src="{{ d.feng }}" style="height:30px;" />
	  </script>
			
			
			<script type="text/html" id="table-useradmin-webuser">
			<!--	<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="info">详细</a> -->
		
				<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
				<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
			</script>

{/block}

{block name="js"}



<script src="__layuiadmin__/layui/layui.js" charset="utf-8"></script>
<script>
    layui.use(['table', 'layer','laydate'], function(){
		var $ = layui.$
		,laydate = layui.laydate;

		  //日期
	  laydate.render({
	    elem: '#demoReload4'
	  });

	var table = layui.table;   
        table.render({
            elem: '#demo'
            ,url: "{:url('Testpro/table')}"//数据接口
            ,page: true //开启分页
            ,cols: [[ 
            {field: 'id', title: 'id', width:80, sort: true, fixed: 'left'}
            ,{field: 'name', title: '试卷名称',align: 'center', minWidth:100}
       
            // ,{field: 'name', title: '名称',align: 'center', minWidth:100}
            
            // ,{field: 'introduce', title: '介绍',align: 'center', minWidth:120}
            
            //  ,{field: 'feng', title: '封面',align: 'center', minWidth:150,templet: '#status-tpl'}

			
            ,{field: 'c_time', title: '修改时间', minWidth:170, align: 'center'}
            ,{ title: '操作', minWidth: 300, align: 'center', fixed: 'right', toolbar: '#table-useradmin-webuser' }
        ]]
	});
	

				// 事件
	var active = {
			add: function () {
				// console.log('111');
				// return;
			parent.layer.open({
				type: 2
				, title: '添加'
				, content: '{:url("add")}'
				, maxmin: true
				// width: 504px; height: 424px; 
				, area: ['1000px', '650px']
				, btn: ['确定', '取消']
				, yes: function (index, layero) {


					var iframeWindow = parent.window['layui-layer-iframe' + index]
						, submitID = 'LAY-user-front-submit'
						, submit = layero.find('iframe').contents().find('#' + submitID);
					//监听提交
					iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
						// field 表单数据
						var field = data.field;
						console.log(field)
						// return

						
						$.ajax({
							url: '{:url("add")}',
							type: 'post',
							data: field,
							success: res => {
								console.log(res)
								layer.msg(res.msg, {
									time: 1500
									})
							   	if (res.code == 0) {
									table.reload('demo'); //数据刷新
								}
							}
						});
						parent.layer.close(index); //关闭弹层
					});

					submit.trigger('click');
				}
			});
		}



			,reload: function(){
				var demoReload = $('#demoReload').val();
				// var demoReload2 = $('#demoReload2').val();
				// var demoReload3 = $('#demoReload3').val();
				// var demoReload4 = $('#demoReload4').val();
				// var demoReload5 = $('#demoReload5').val();
				var demoReload6 = $('#demoReload6').val();
				// var demoReload7 = $('#demoReload7').val();


				console.log(demoReload);
				//执行重载demo
				table.reload('demo', {
				method: 'post'	
				,url: '{:url("table")}'
				,where: {
					'h1': demoReload,
				// 	'rank': demoReload2,
				// 	'type': demoReload3,
				// 	'birthday': demoReload4,
				// 	'linkman': demoReload5,
					'tel': demoReload6,
				// 	'map': demoReload7,
				}
				});
					
				
			}

	};


//------------------

	// 监听工具条
	table.on('tool(test)', function (obj) {
			var data = obj.data;
			if (obj.event === 'del') {
				layer.confirm('确认删除该数据吗?', function (index) {
					console.log(data)
					$.ajax({
						url: '{:url("Testpro/del")}',
						type: 'post',
						data: { id: data.id },
						success: res => {
							layer.msg(res.msg, {
								time: 1500,
							});
							if (res.code == 200) {
									table.reload('demo'); //数据刷新
							}
						}
					});
					// parent.layer.close(index); //关闭弹层
					layer.close(index);
				});
			}
			 else if (obj.event === 'edit') {
				var tr = $(obj.tr);
				parent.layer.open({
					type: 2
					, title: '编辑内容'
					, content: '{:url("Testpro/edit")}' + '?id=' + data.id
					, maxmin: true
					, area:  ['1000px', '650px']
					, btn: ['确定', '取消']
					, yes: function (index, layero) {
					var iframeWindow = parent.window['layui-layer-iframe' + index]
						, submitID = 'LAY-user-front-submit'
						, submit = layero.find('iframe').contents().find('#' + submitID);
					//监听提交
					iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
						// field 表单数据
						var field = data.field;
						console.log(field)
	
						$.ajax({
							url: '{:url("Testpro/edit")}',
							type: 'post',
							data: field,
							success: res => {
								console.log(res)
								layer.msg(res.msg, {
									time: 1500
									})
							   	if (res.code == 0) {
									table.reload('demo'); //数据刷新
								}
							}
						});


							parent.layer.close(index);
						});
						submit.trigger('click');
					}
					, success: function (layero, index) {

					}
				});
			} 

			




		});

		$('.layui-btn.layuiadmin-btn-useradmin').on('click', function () {
			var type = $(this).data('type');
			active[type] ? active[type].call(this) : '';
		});

});

</script>
{/block}

  add方法:

       public function add()
        {
            if (request()->isPost()) {
                $data = input('post.');
                $data =  json_encode($data);//成为json
                $data = json_decode($data,true);
     
                if(!empty($data['ways']) && !empty($data['wayskey'] && !empty($data['waysfen']))){ 
                    
                    for ($i = 0; $i < count($data['ways']); $i++) {
                        $ways[$i]['timu'] = $data['ways'][$i];
                        $ways[$i]['daan'] = $data['wayskey'][$i];
                        $ways[$i]['fen'] = $data['waysfen'][$i];
                        
                    }

                    $ways = json_encode($ways,320);
                    
                }else{
                    $ways = '';
                    
                }

                if(!empty($data['tiankong']) && !empty($data['tiankongskey']  && !empty($data['tiankongsfen']))){
                    for ($a = 0; $a < count($data['tiankong']); $a++) {
                            
                        $tiankong[$a]['timu'] = $data['tiankong'][$a];
                        $tiankong[$a]['daan'] = $data['tiankongskey'][$a];
                        $tiankong[$a]['fen'] = $data['tiankongsfen'][$a];
                    }
                    

                     $tiankong = json_encode($tiankong,320);
                }else{ 
                    $tiankong = '';
                }
             
                
                
                if(!empty($data['panduan']) && !empty($data['panduanskey']) && !empty($data['panduansfen'])){
                   for ($b = 0; $b < count($data['panduan']); $b++) {
                        $panduan[$b]['timu'] = $data['panduan'][$b];
                        $panduan[$b]['daan'] = $data['panduanskey'][$b];
                        $panduan[$b]['fen'] = $data['panduansfen'][$b];
                    }

                    $panduan = json_encode($panduan,320);
                }else{
                    $panduan = '';
                    
                }
               
                
                if(!empty($data['jisuan']) && !empty($data['jisuanskey']) && !empty($data['jisuansfen'])){
                    for ($c = 0; $c < count($data['jisuan']); $c++) {
                        $jisuan[$c]['timu'] = $data['jisuan'][$c];
                        $jisuan[$c]['daan'] = $data['jisuanskey'][$c];
                        $jisuan[$c]['fen'] = $data['jisuansfen'][$c];
                        
                    }

                    $jisuan =  json_encode($jisuan,320);
                }else{
                    $jisuan = '';
                    
                }
                
                $testp                 = new testp;
                $testp->name           = $data['name'];    
                $testp->ways           = $ways;            //选择题题目
                $testp->tiankong       = $tiankong;            //选择题题目
                $testp->panduan        = $panduan;            //选择题题目
                $testp->jisuan         = $jisuan;            //选择题题目
                $testp->c_time         = time();                      //时间

                $testp= $testp->save();
                
                if ($testp == 1) {
                return json(['code' => 0, 'msg' => '添加成功']); 
                }else{
                    return json(['code' => 1, 'msg' => '添加失败']);
                }
            } else {
                  return view();
            }
        }   
        

  add视图

{block name="head"}
<title>后台系统</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="__layuiadmin__/layui/css/layui.css" media="all">
{/block}

<!-- <body>  44554-->
	{block name="body1"}
  <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin" style="padding: 20px 0 0 0;">
   
  
    
   <div class="layui-form-item"  style="padding: 20px 0 0 0;">
      <label class="layui-form-label layui-font-20">试卷名称</label>
      <div class="layui-input-inline">
        <input type="text" name="name"  lay-verify="required" lay-reqtext="试卷名称是必填项!" placeholder="请输入试卷名称" autocomplete="off" class="layui-input">
      </div>
     </div>



  <!--  +++++++++++++++选择题++++++++++++++  --> 

 <div class="layui-form-item" >
    <label class="layui-form-label layui-font-20">选择题</label>
     
    <div class="" id="last">
        
        <div class="layui-input-block">
            <div class="">
                       <input type="text" name="ways[]" lay-verify="required" lay-reqtext="题目是必填项!" placeholder="请输入题目" autocomplete="off" class="layui-input">
                       
                      <input type="text" name="wayskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">
                      
                        <div class="layui-input-inline">
                          <input type="number" name="waysfen[]" lay-verify="required" placeholder="请输入分数" autocomplete="off" class="layui-input">
                        </div>

                        <div class="layui-input-block" style="margin-left: 370px">
                            <button id="add" type="button" class="layui-btn layui-btn-warm layui-btn-sm">
                                <i class="layui-icon"></i>
                            </button>
                        </div>
            </div>
        </div>
         <br/>
         
    </div>
</div>
   <!--       +++++++++++++++选择题END++++++++++++++            --> 
 
   <!--       +++++++++++++++填空题++++++++++++++            --> 
  <br/>
    <br/>
  <div class="layui-form-item layui-form-text" id="tiankong">
    <label class="layui-form-label layui-font-20">填空题</label>
       
        <div>
            <div class="layui-input-block">
              <textarea name="tiankong[]" placeholder="请输入题目" lay-verify="required" lay-reqtext="必填项!"  class="layui-textarea"></textarea>
              <input type="text" name="tiankongskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">
               <div class="layui-input-inline">
                  <input type="number" name="tiankongsfen[]" lay-verify="required" placeholder="请输入分数" autocomplete="off" class="layui-input">
                </div>
              
            </div>
            <div class="layui-input-block" style="margin-left: 480px">
                <button id="addtiankong" type="button" class="layui-btn layui-btn-warm layui-btn-sm">
                    <i class="layui-icon"></i>
                </button>
            </div>
       </div>
       <br/>
  </div>
<!--+++++++++++++++填空题END++++++++++++++   --> 


  

     
<br/>






<br/>


    {/block}


    {block name="body2"}
    <!-- <div class="layui-form-item">
      <label class="layui-form-label">内容</label> -->

      <div class="container "> 
        <!-- //此div重写父模板 -->
        <div id="wrap" class="nav" value="">
        </div>
        <!-- <div class="time-spend"><button id="save" class="btn btn-default btn-lg">提交</button></div> -->
      </div>


    <!-- </div> -->
    <div class="layui-form-item layui-hide">
      <input type="button" lay-submit lay-filter="LAY-user-front-submit" id="LAY-user-front-submit" value="确认">
    </div>

    {/block}
  
  </div>

  {block name="js"}

  <script type="text/plain" style="display: none" id="md_source"></script>
  {/block}

  {block name="jss"}
  <script src="__layuiadmin__/layui/layui.js"></script>  
  <script>

  layui.config({
    base: '__layuiadmin__/' //静态资源所在路径
  }).extend({
    index: 'lib/index' //主入口模块
  }).use(['index', 'form', 'upload','laydate','element', 'layer'], function(){
    var $ = layui.$
    ,form  = layui.form
      ,upload  = layui.upload
      ,element = layui.element
      ,layer   = layui.layer
      ,laydate =  layui.laydate;
  
  
      //动态添加input输入框  选择题
    $("#add").click(function () {
        var str = '<div class="layui-input-block">'+
            '<div class="">'+
                       '<input type="text" name="ways[]" lay-verify="required" lay-reqtext="题目是必填项!" placeholder="请输入题目" autocomplete="off" class="layui-input">'+
                       '<input type="text" name="wayskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">'+
                       
                        '<div class="layui-input-inline">'+
                          '<input type="number" name="waysfen[]" lay-verify="required"  lay-reqtext="分数是必填项!" placeholder="请输入分数" autocomplete="off" class="layui-input">'+
                       ' </div>'+
                       
                       
            '<div class="layui-input-block" style="margin-left: 370px">' +
            '<button type="button" class="layui-btn layui-btn-danger layui-btn-sm removeclass"><i class="layui-icon"></i></button>' +
            '</div>' +
            '</div>'+
        '</div>'+'<br/>';

        $("#last").append(str);
        // x++;
    });

    //删除动态添加的input输入框
    $("body").on('click', ".removeclass", function () {
        //元素移除前校验是否被引用
        var approvalName = $(this).parent().prev('div.layui-input-inline').children().val();
        var parentEle = $(this).parent().parent().parent();
        parentEle.remove();
    });
  
  
  

//动态添加 填空题
    $("#addtiankong").click(function () {
        var str = 
           '<div>'+
            '<div class="layui-input-block">'+
              '<textarea name="tiankong[]" placeholder="请输入题目" lay-verify="required" lay-reqtext="必填项!"  class="layui-textarea"></textarea>'+
              '<input type="text" name="tiankongskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">'+
                '<div class="layui-input-inline">'+
                  '<input type="number" name="tiankongsfen[]" lay-verify="required"  lay-reqtext="分数是必填项!" placeholder="请输入分数" autocomplete="off" class="layui-input">'+
                '</div>'+
              
            '</div>'+
               '<div class="layui-input-block" style="margin-left: 480px">' +
            '<button type="button" class="layui-btn layui-btn-danger layui-btn-sm removetiankong"><i class="layui-icon"></i></button>' +
            '</div>' +
            '</div>'+'<br/>';   
        $("#tiankong").append(str);
        // x++;
    });
  
      //删除动态添加的input输入框
    $("body").on('click', ".removetiankong", function () {
        //元素移除前校验是否被引用
        var approvalName = $(this).parent().prev('div.layui-input-inline').children().val();
        var parentEle = $(this).parent().parent();
        parentEle.remove();
    });
  
  
 
  //动态添加判断题END
    $("#addpanduan").click(function () {
        var str = '<div class="layui-input-block">'+
            '<div class="">'+
                       '<input type="text" name="panduan[]" lay-verify="required" lay-reqtext="题目是必填项!" placeholder="请输入题目" autocomplete="off" class="layui-input">'+
                       '<input type="text" name="panduanskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">'+
                         '<div class="layui-input-inline">'+
                          '<input type="number" name="panduansfen[]" lay-verify="required"  lay-reqtext="分数是必填项!" placeholder="请输入分数" autocomplete="off" class="layui-input">'+
                        '</div>'+
                       
                       
            '<div class="layui-input-block" style="margin-left: 370px">' +
            '<button type="button" class="layui-btn layui-btn-danger layui-btn-sm removepanduan"><i class="layui-icon"></i></button>' +
            '</div>' +
            '</div>'+
        '</div>'+'<br/>';

        $("#panduan").append(str);
        // x++;
    });

    //删除动态添加的input输入框
    $("body").on('click', ".removepanduan", function () {
        //元素移除前校验是否被引用
        var approvalName = $(this).parent().prev('div.layui-input-inline').children().val();
        var parentEle = $(this).parent().parent().parent();
        parentEle.remove();
    });
  
  
  //添加计算题
  
    $("#addtjisuan").click(function () {
        var str = 
           '<div>'+
            '<div class="layui-input-block">'+
              '<textarea name="jisuan[]" placeholder="请输入题目" lay-verify="required" lay-reqtext="必填项!"  class="layui-textarea"></textarea>'+
               '<textarea name="jisuanskey[]" placeholder="请输入答案" lay-verify="required" lay-reqtext="答案是必填项!" autocomplete="off"  class="layui-textarea"></textarea>'+
                  '<div class="layui-input-inline">'+
                  '<input type="number" name="jisuansfen[]" lay-verify="required"  lay-reqtext="分数是必填项!" placeholder="请输入分数" autocomplete="off" class="layui-input">'+
                '</div>'+
               
            '</div>'+
               '<div class="layui-input-block" style="margin-left: 480px">' +
            '<button type="button" class="layui-btn layui-btn-danger layui-btn-sm removejisuan"><i class="layui-icon"></i></button>' +
            '</div>' +
            '</div>'+'<br/>';   
        $("#jisuan").append(str);
        // x++;
    });
  
      //删除动态添加的input输入框
    $("body").on('click', ".removejisuan", function () {
        //元素移除前校验是否被引用
        var approvalName = $(this).parent().prev('div.layui-input-inline').children().val();
        var parentEle = $(this).parent().parent();
        parentEle.remove();
    });
  
  
  
  
  
  
  
  //-------------------------------------------------------------------------
  
 
  })
  </script>
{/block}
<!-- </body> -->
<!-- </html> -->

  

edit方法:

     
     public function edit()
     {
            if (request()->isPost() ) {

                $data = input('post.');
                $data =  json_encode($data);//成为json
                $data = json_decode($data,true);
     
             
                if(!empty($data['ways']) && !empty($data['wayskey'] && !empty($data['waysfen']))){ 
                    
                    for ($i = 0; $i < count($data['ways']); $i++) {
                        $ways[$i]['timu'] = $data['ways'][$i];
                        $ways[$i]['daan'] = $data['wayskey'][$i];
                        $ways[$i]['fen'] = $data['waysfen'][$i];
                        
                    }

                    $ways = json_encode($ways,320);
                    
                }else{
                    $ways = '';
                    
                }

         
            

                $data = [
                    'id'             => input('post.id') ? input('post.id'):'',
                    'name'           => input('post.name')?input('post.name'):'',
                    'ways'           =>  $ways,
                    'tiankong'       =>  $tiankong,
                    'panduan'        =>  $panduan,
                    'jisuan'         =>  $jisuan,

                    'c_time'         => time(),
                ];

                $da= testp::update($data);
          
                return json(['code' => 0, 'msg' => '修改成功']);
            } else {

               $id = input('id', '', 'intval');
               $data = testp::get($id);
               
               
               $data = json_encode($data,320);
               $data = json_decode($data,true);
               
                if(!empty($data['ways'])){$ways = json_decode($data['ways'],true);}else{$ways ='';}
                
                if(!empty($data['tiankong'])){$tiankong = json_decode($data['tiankong'],true);}else{$tiankong ='';}
                
                if(!empty($data['panduan'])){$panduan = json_decode($data['panduan'],true);}else{$panduan ='';}
                
                if(!empty($data['jisuan'])){$jisuan = json_decode($data['jisuan'],true);}else{$jisuan ='';}

               $this->assign('id',$id);
               $this->assign('name',$data['name']);         //名称
              
              
               $this->assign('ways',$ways);           //选择题题目 答案
               
               $this->assign('tiankong',$tiankong);   //填空题题目 答案
              
               $this->assign('panduan', $panduan);    //判断题题目 答案
              
               $this->assign('jisuan',$jisuan);       //计算题题目 答案
   
               return view();
            }

        }

  

edit视图

{block name="head"}
<title>后台系统</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="__layuiadmin__/layui/css/layui.css" media="all">
{/block}

<!-- <body>  44554-->
	{block name="body1"}
  <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin" style="padding: 20px 0 0 0;">
   
   <input name="id" value="{$id}" class="layui-input" value="" type="hidden">
   
    
   <div class="layui-form-item"  style="padding: 20px 0 0 0;">
      <label class="layui-form-label layui-font-20">试卷名称</label>
      <div class="layui-input-inline">
        <input value="{$name}" type="text" name="name"  lay-verify="required" lay-reqtext="试卷名称是必填项!" placeholder="请输入试卷名称"  class="layui-input">
      </div>
     </div>



  <!--       +++++++++++++++选择题++++++++++++++            --> 

 <div class="layui-form-item" >
    <label class="layui-form-label layui-font-20">选择题</label>
    <div class="" id="last">
        
                     
            <button id="add" type="button" class="layui-btn layui-btn-warm layui-btn-sm">
                <i class="layui-icon"></i>
            </button>

            {volist name="ways" id="vo"}     
                     <div class="layui-input-block">
                    <div class="">
                               <input value="{$vo.timu}" type="text" name="ways[]" lay-verify="required" lay-reqtext="题目是必填项!" placeholder="请输入题目" autocomplete="off" class="layui-input">
                               
                              <input value="{$vo.daan}" type="text" name="wayskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">
                              
                                 
                        <div class="layui-input-inline">
                          <input value="{$vo.fen}"   type="number" name="waysfen[]" lay-verify="required" placeholder="请输入分数" autocomplete="off" class="layui-input">
                        </div>
                              
                                
                               <div class="layui-input-block" style="margin-left: 480px">
                                <button type="button" class="layui-btn layui-btn-danger layui-btn-sm removeclass"><i class="layui-icon"></i></button>
                                </div>
        
                              
                    </div>
                </div><br/>
           {/volist}   

    </div>
</div>
   <!--       +++++++++++++++选择题END++++++++++++++            --> 
 
   <!--       +++++++++++++++填空题++++++++++++++            --> 
  <br/>
    <br/>
  <div class="layui-form-item layui-form-text" id="tiankong">
    <label class="layui-form-label layui-font-20">填空题</label>
        
                    <button id="addtiankong" type="button" class="layui-btn layui-btn-warm layui-btn-sm">
                        <i class="layui-icon"></i>
                    </button>
             
       
        {volist name="tiankong" id="aa"}    
            <div>
                <div class="layui-input-block">
                  <textarea value="" name="tiankong[]" placeholder="请输入题目" lay-verify="required" lay-reqtext="必填项!"  class="layui-textarea">{$aa.timu}</textarea>
                  <input value="{$aa.daan}"  type="text" name="tiankongskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">
                      <div class="layui-input-inline">
                      <input value="{$aa.fen}"  type="number" name="tiankongsfen[]" lay-verify="required" placeholder="请输入分数" autocomplete="off" class="layui-input">
                    </div>
                
                </div>

               <div class="layui-input-block" style="margin-left: 480px">
                    <button type="button" class="layui-btn layui-btn-danger layui-btn-sm removetiankong"><i class="layui-icon"></i></button>
                   </div>
           </div>
           <br/>
          {/volist}   
           
           
  </div>
<!--+++++++++++++++填空题END++++++++++++++   --> 

<!--+++++++++++++++判断题++++++++++++++   --> 
    <br/>
    <br/>
     <div class="layui-form-item" >
    <label class="layui-form-label layui-font-20">判断题</label>
    <div class="" id="panduan">
          <button id="addpanduan" type="button" class="layui-btn layui-btn-warm layui-btn-sm">
                                <i class="layui-icon"></i>
                            </button>
                            
              {volist name="panduan" id="bb"}                   
        
        <div class="layui-input-block">
            <div class="">
               <input value="{$bb.timu}" type="text" name="panduan[]" lay-verify="required" lay-reqtext="题目是必填项!" placeholder="请输入题目" autocomplete="off" class="layui-input">
               
              <input value="{$bb.daan}" type="text" name="panduanskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">
            <div class="layui-input-inline">
                  <input value="{$bb.fen}" type="number" name="panduansfen[]" lay-verify="required" placeholder="请输入分数" autocomplete="off" class="layui-input">
                </div>
                             
        <div class="layui-input-block" style="margin-left: 480px">
        <button type="button" class="layui-btn layui-btn-danger layui-btn-sm removepanduan"><i class="layui-icon"></i></button>
        </div>
        
                   
            </div>
           </div>
         <br/>
          {/volist} 
         
         
         
    </div>
</div>
    

  
  
<!--+++++++++++++++判断题END++++++++++++++   --> 
  
  
<!--+++++++++++++++计算题++++++++++++++   --> 
  
    <br/>
    <br/>
  <div class="layui-form-item layui-form-text" id="jisuan">
    <label class="layui-form-label layui-font-20">计算题</label>
       
           <button id="addtjisuan" type="button" class="layui-btn layui-btn-warm layui-btn-sm">
                    <i class="layui-icon"></i>
                </button>
       {volist name="jisuan" id="cc"}      
        <div>
            <div class="layui-input-block">
              <textarea name="jisuan[]" placeholder="请输入题目" lay-verify="required" lay-reqtext="必填项!"  class="layui-textarea">{$cc.timu}</textarea>
              <textarea name="jisuanskey[]" placeholder="请输入答案" lay-verify="required" lay-reqtext="答案是必填项!" autocomplete="off"  class="layui-textarea">{$cc.daan}</textarea>
              
                <div class="layui-input-inline">
                  <input value="{$cc.fen}" type="number" name="jisuansfen[]" lay-verify="required" placeholder="请输入分数" autocomplete="off" class="layui-input">
                </div>
                
            </div>
           <div class="layui-input-block" style="margin-left: 480px">
            <button type="button" class="layui-btn layui-btn-danger layui-btn-sm removejisuan"><i class="layui-icon"></i></button>
            </div>
       </div>
       <br/>
    {/volist} 
       
  </div>
<!--+++++++++++++++计算题END++++++++++++++   --> 
  
     
<br/>
<br/>


    {/block}


    {block name="body2"}
    <!-- <div class="layui-form-item">
      <label class="layui-form-label">内容</label> -->

      <div class="container "> 
        <!-- //此div重写父模板 -->
        <div id="wrap" class="nav" value="">
        </div>
        <!-- <div class="time-spend"><button id="save" class="btn btn-default btn-lg">提交</button></div> -->
      </div>


    <!-- </div> -->
    <div class="layui-form-item layui-hide">
      <input type="button" lay-submit lay-filter="LAY-user-front-submit" id="LAY-user-front-submit" value="确认">
    </div>

    {/block}
  
  </div>

  {block name="js"}

  <script type="text/plain" style="display: none" id="md_source"></script>
  {/block}

  {block name="jss"}
  <script src="__layuiadmin__/layui/layui.js"></script>  
  <script>

  layui.config({
    base: '__layuiadmin__/' //静态资源所在路径
  }).extend({
    index: 'lib/index' //主入口模块
  }).use(['index', 'form', 'upload','laydate','element', 'layer'], function(){
    var $ = layui.$
    ,form  = layui.form
      ,upload  = layui.upload
      ,element = layui.element
      ,layer   = layui.layer
      ,laydate =  layui.laydate;
  
  
      //动态添加input输入框  选择题
    $("#add").click(function () {
        var str = '<div class="layui-input-block">'+
            '<div class="">'+
                       '<input type="text" name="ways[]" lay-verify="required" lay-reqtext="题目是必填项!" placeholder="请输入题目" autocomplete="off" class="layui-input">'+
                       '<input type="text" name="wayskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">'+
            '<div class="layui-input-block" style="margin-left: 480px">' +
            '<button type="button" class="layui-btn layui-btn-danger layui-btn-sm removeclass"><i class="layui-icon"></i></button>' +
            '</div>' +
            '</div>'+
        '</div>'+'<br/>';

        $("#last").append(str);
        // x++;
    });

    //删除动态添加的input输入框
    $("body").on('click', ".removeclass", function () {
        //元素移除前校验是否被引用
        var approvalName = $(this).parent().prev('div.layui-input-inline').children().val();
        var parentEle = $(this).parent().parent().parent();
        parentEle.remove();
    });
  
  
  

//动态添加 填空题
    $("#addtiankong").click(function () {
        var str = 
           '<div>'+
            '<div class="layui-input-block">'+
              '<textarea name="tiankong[]" placeholder="请输入题目" lay-verify="required" lay-reqtext="必填项!"  class="layui-textarea"></textarea>'+
              '<input type="text" name="tiankongskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">'+
            '</div>'+
               '<div class="layui-input-block" style="margin-left: 480px">' +
            '<button type="button" class="layui-btn layui-btn-danger layui-btn-sm removetiankong"><i class="layui-icon"></i></button>' +
            '</div>' +
            '</div>'+'<br/>';   
        $("#tiankong").append(str);
        // x++;
    });
  
      //删除动态添加的input输入框
    $("body").on('click', ".removetiankong", function () {
        //元素移除前校验是否被引用
        var approvalName = $(this).parent().prev('div.layui-input-inline').children().val();
        var parentEle = $(this).parent().parent();
        parentEle.remove();
    });
  
  
 
  //动态添加判断题END
    $("#addpanduan").click(function () {
        var str = '<div class="layui-input-block">'+
            '<div class="">'+
                       '<input type="text" name="panduan[]" lay-verify="required" lay-reqtext="题目是必填项!" placeholder="请输入题目" autocomplete="off" class="layui-input">'+
                       '<input type="text" name="panduanskey[]" lay-verify="required" lay-reqtext="答案是必填项!" placeholder="请输入答案" autocomplete="off" class="layui-input">'+
            '<div class="layui-input-block" style="margin-left: 480px">' +
            '<button type="button" class="layui-btn layui-btn-danger layui-btn-sm removepanduan"><i class="layui-icon"></i></button>' +
            '</div>' +
            '</div>'+
        '</div>'+'<br/>';

        $("#panduan").append(str);
        // x++;
    });

    //删除动态添加的input输入框
    $("body").on('click', ".removepanduan", function () {
        //元素移除前校验是否被引用
        var approvalName = $(this).parent().prev('div.layui-input-inline').children().val();
        var parentEle = $(this).parent().parent().parent();
        parentEle.remove();
    });
  
  
  //添加计算题
  
    $("#addtjisuan").click(function () {
        var str = 
           '<div>'+
            '<div class="layui-input-block">'+
              '<textarea name="jisuan[]" placeholder="请输入题目" lay-verify="required" lay-reqtext="必填项!"  class="layui-textarea"></textarea>'+
               '<textarea name="jisuanskey[]" placeholder="请输入答案" lay-verify="required" lay-reqtext="答案是必填项!" autocomplete="off"  class="layui-textarea"></textarea>'+
            '</div>'+
               '<div class="layui-input-block" style="margin-left: 480px">' +
            '<button type="button" class="layui-btn layui-btn-danger layui-btn-sm removejisuan"><i class="layui-icon"></i></button>' +
            '</div>' +
            '</div>'+'<br/>';   
        $("#jisuan").append(str);
        // x++;
    });
  
      //删除动态添加的input输入框
    $("body").on('click', ".removejisuan", function () {
        //元素移除前校验是否被引用
        var approvalName = $(this).parent().prev('div.layui-input-inline').children().val();
        var parentEle = $(this).parent().parent();
        parentEle.remove();
    });
  
  
  
  
  
  
  
  //-------------------------------------------------------------------------
  //日期
  laydate.render({
    elem: '#date'
  });
  
  upload.render({
    elem: '#test5'
    ,url: '{:url("upload")}' //此处配置你自己的上传接口即可
    ,accept: 'video' //视频
    ,done: function(res){
      layer.msg('上传成功');
      console.log('上传成功');
      console.log(res)
    }
  });
      
  var navArr  = [];//定义一个数组 用于存储 传过来的 上传文件的路径
 //演示多文件列表
  var uploadListIns = upload.render({
    elem: '#testList'
    ,elemList: $('#demoList')  //列表元素对象
    ,url: '{:url("upload")}'   //后台上传文件接口
    ,accept: 'file'
    ,multiple: true
    ,number: 1
    ,auto: false
    ,bindAction: '#testListAction'
    ,choose: function(obj){   
      var that = this;
      var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
      //读取本地文件
      obj.preview(function(index, file, result){
        var tr = $(['<tr id="upload-'+ index +'">'
          ,'<td>'+ file.name +'</td>'
          ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>'
          ,'<td><div class="layui-progress" lay-filter="progress-demo-'+ index +'"><div class="layui-progress-bar" lay-percent=""></div></div></td>'
          ,'<td>'
            ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
            ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
          ,'</td>'
        ,'</tr>'].join(''));
        
        //单个重传
        tr.find('.demo-reload').on('click', function(){
          obj.upload(index, file);
        });
        
        //删除
        tr.find('.demo-delete').on('click', function(){
          delete files[index]; //删除对应的文件
          tr.remove();
          uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
        });
        
        that.elemList.append(tr);
        element.render('progress'); //渲染新加的进度条组件
      });
    }
    ,done: function(res, index, upload){ //成功的回调
      var that = this;
      //if(res.code == 0){ //上传成功
        var tr = that.elemList.find('tr#upload-'+ index)
        ,tds = tr.children();
        tds.eq(3).html(''); //清空操作
        delete this.files[index]; //删除文件队列已经上传成功的文件

   
     var navArr  = [];//定义一个数组 用于存储 传过来的 上传文件的路径
     
      navArr.push(res.message); //返回的文件地址 存进数组  
      
      $(".filess").val(JSON.stringify(navArr));

console.log(res.message);
        return;
      //}
      this.error(index, upload);
    }
    ,allDone: function(obj){ //多文件上传完毕后的状态回调
      console.log(obj)

    }
    ,error: function(index, upload){ //错误回调
      var that = this;
      var tr = that.elemList.find('tr#upload-'+ index)
      ,tds = tr.children();
      tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
    }
    ,progress: function(n, elem, e, index){ //注意:index 参数为 layui 2.6.6 新增
      element.progress('progress-demo-'+ index, n + '%'); //执行进度条。n 即为返回的进度百分比
    }
  });


    upload.render({
      elem: '#layuiadmin-upload-useradmin'
      ,url: layui.setter.base + 'json/upload/demo.js'
      ,accept: 'images'
      ,method: 'get'
      ,acceptMime: 'image/*'
      ,done: function(res){
        $(this.item).prev("div").children("input").val(res.data.src)
      }
    });
 
  })
  </script>
{/block}
<!-- </body> -->
<!-- </html> -->

  

 

posted @ 2022-05-10 17:01  79524795  阅读(314)  评论(0编辑  收藏  举报