需求:
系统配置里有输入框,文本域,开关三种配置项,每一项后有保存按钮,点击保存时获取到该配置强的键值对传到后台
代码示例
{extend name="common/base"}
{block name='body-content'}
<!-- 以下是正文 -->
<div class="layui-body">
<div style="padding: 15px">
<div class="system-set">
<div class="set-top">模块设置</div>
<div class="set-inner">
<form class="layui-form" action="">
<div class="layui-row">
{volist name="list" id="vo"}
{switch $vo['view_type']}
{case 0}
<div class="layui-col-xs6 item">
<div class="title-item">{$vo['conf_explain']}</div>
<div class="item-center">
<div class="layui-input-block">
<input type="text" name="{$vo['conf_name']}" lay-verify="title" autocomplete="off"
value='{$vo['conf_value']}' class="layui-input">
</div>
<button class="layui-btn" type="button" οnclick="save('{$vo['conf_name']}',{$vo['view_type']})">保存</button>
</div>
<div class="about">{$vo['remark']}</div>
</div>
{/case}
{case 1}<div class="layui-col-xs6 item">
<div class="title-item">{$vo['conf_explain']}</div>
<div class="item-center">
<div class="layui-input-block">
<input type="checkbox" checked="" name="{$vo['conf_name']}" value="1" lay-skin="switch" title="开关">
</div>
<button class="layui-btn" type="button" οnclick="save('{$vo['conf_name']}',{$vo['view_type']})">保存</button>
</div>
<div class="about">{$vo['remark']}</div>
</div>{/case}
{case 2}
<div class="wechat layui-col-xs12">
<div class="menu-title">{$vo['conf_explain']}</div>
<div class="layui-input-block">
<textarea placeholder="" class="layui-textarea" name="{$vo['conf_name']}">{$vo['conf_value']}</textarea>
</div>
<p class="about">
{$vo['remark']}
</p>
<div class="we-btn"> <button class="layui-btn" type="button" οnclick="save('{$vo['conf_name']}',{$vo['view_type']})">保存</button>
</div>
</div>
{/case}
{default /}
{/switch}
{/volist}
</div>
</form>
</div>
</div>
</div>
</div>
</div>
{/block}
{block name="script-content"}
<script>
function save(conf_name,type){
switch (type)
{
case 0:
var conf_value = $('input[name='+conf_name+']').val();
break;
case 1:
var conf_value = $('input[name='+conf_name+']').is(':checked') ^ 0;
break;
case 2:
var conf_value = $('textarea[name='+conf_name+']').val();
break;
}
if (!conf_value && type != 1)
alert('不能为空');
var data = {conf_name:conf_name,conf_value:conf_value};
console.log(data);
var url = "/a_delete_reward_good";
$.post(
url,
data,
function (result) {
if (result.error == 0) {
layer.msg(result.message, { icon: 1 });
} else {
layer.msg(result.message);
}
}, "JSON");
}
</script>
{/block}
获取单选框选中的值 var pay_method = $('input[name="pay_method"]:checked').val();