form.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <div class="think-box-shadow">
  2. <form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
  3. <div class="layui-card-body">
  4. <div class="layui-form-item">
  5. <label class="layui-form-label label-required">推送类型</label>
  6. <div class="layui-input-inline">
  7. <select name="type" lay-filter ="type">
  8. {foreach [2=>'搜索标签',3=>'模块详情'] as $ck=>$cv}
  9. <option {if $vo.type == $ck } selected {/if} value="{$ck}">{$cv}</option>
  10. {/foreach}
  11. </select>
  12. </div>
  13. </div>
  14. <div class="layui-form-item">
  15. <label class="layui-form-label ">标签</label>
  16. <div class="layui-input-block">
  17. <input name="label" value='{$vo.label|default=""}' placeholder="请输入标签" class="layui-input">
  18. </div>
  19. </div>
  20. <div class="module_div" {if !isset($vo.type) || $vo.type == 2}style="display:none" {/if}>
  21. <div class="layui-form-item">
  22. <label class="layui-form-label label-required">模块</label>
  23. <div class="layui-input-inline">
  24. <select name="module" lay-filter ="module">
  25. {foreach $module_arr as $ck=>$cv}
  26. <option data-sel_module="{$ck}" {if isset($vo.module) && $vo.module == $ck } selected {/if} value="{$ck}">{$cv}</option>
  27. {/foreach}
  28. </select>
  29. </div>
  30. </div>
  31. <div class="layui-form-item">
  32. <label class="layui-form-label label-required">详情</label>
  33. <div class="layui-input-inline">
  34. <select name="first_id" id="first_id" lay-filter ="first_id">
  35. </select>
  36. </div>
  37. <div class="layui-input-inline second_div">
  38. <select name="second_id" id="second_id" lay-filter ="second_id">
  39. </select>
  40. </div>
  41. </div>
  42. </div>
  43. <div class="layui-form-item">
  44. <label class="layui-form-label label-required">推送内容</label>
  45. <div class="layui-input-block">
  46. <textarea name="content" rows="10" cols="98">{$vo.content|default=''}</textarea>
  47. </div>
  48. </div>
  49. <input type='hidden' value='2' name='type'>
  50. <div class="layui-form-item text-center">
  51. <button class="layui-btn" type='submit'>保 存</button>
  52. <button class="layui-btn layui-btn-danger" type='button' data-close>取消编辑</button>
  53. </div>
  54. </div>
  55. </form>
  56. <script>
  57. form.on('select(type)', function(data){
  58. if(data.value == 3) {
  59. $(".module_div").show();
  60. }else{
  61. $(".module_div").hide();
  62. }
  63. window.form.render();
  64. })
  65. var sel_first = {:isset($vo['first_id']) ? $vo['first_id']:0};
  66. var sel_second = {:isset($vo['second_id']) ? $vo['second_id']:0};
  67. var module_list = {:json_encode($module_list)};
  68. // 分类选择监听
  69. var arr = ['video','article','datum'];
  70. first(1);
  71. form.on('select(module)', function(data){
  72. first(2)
  73. })
  74. // 详情关联监听
  75. form.on('select(first_id)', function(data){
  76. second(2);
  77. })
  78. function first(source) {
  79. sel_module = $("select[name='module']").find("option:selected").data('sel_module');
  80. if(arr.indexOf(sel_module) != -1) {
  81. $(".second_div").show();
  82. }else{
  83. $(".second_div").hide();
  84. }
  85. var cl_html = '<option value="0">请选择</option>';
  86. if(sel_module == '') {
  87. $("select[name='first_id']").html(cl_html);
  88. $("select[name='second_id']").html(cl_html);
  89. window.form.render();
  90. return true;
  91. }else{
  92. $.each(module_list,function (ck,cv) {
  93. if(cv.module == sel_module) {
  94. if(source == 1 && sel_first == cv.id) {
  95. cl_html +='<option selected value="'+cv.id+'">'+cv.title+'</option>';
  96. }else{
  97. cl_html +='<option value="'+cv.id+'">'+cv.title+'</option>';
  98. }
  99. }
  100. })
  101. $("select[name='first_id']").html(cl_html);
  102. $("select[name='second_id']").html('');
  103. }
  104. second(source);
  105. window.form.render();
  106. }
  107. function second(source) {
  108. var cl_html = '<option value="0">请选择</option>';
  109. sel_module = $("select[name='module']").find("option:selected").data('sel_module');
  110. first_id = $("select[name='first_id']").find("option:selected").val();
  111. $.each(module_list,function (ck,cv) {
  112. if(sel_module == cv.module && first_id == cv.id && arr.indexOf(sel_module) != -1) {
  113. $.each(cv.children,function (sk,sv) {
  114. if(source == 1 && sel_second == sv.id) {
  115. cl_html +='<option selected value="'+sv.id+'">'+sv.title+'</option>';
  116. }else{
  117. cl_html +='<option value="'+sv.id+'">'+sv.title+'</option>';
  118. }
  119. })
  120. $("select[name='second_id']").html(cl_html);
  121. $(".second_div").show();
  122. form.render();
  123. }
  124. })
  125. }
  126. </script>
  127. </div>