万捷博客

万捷博客
一个知识汇聚的地方
首页 » layui » layui复选框不显示样式

layui复选框不显示样式

layui的复选框checkbox不显示样式,只是普通的小方框,这个问题的原因有几种,不过常见的情况一般为:

  1. 没有加载模块,也就是JS文件中没有 layui.use(['form'],function(){...没有from这个模块
  2. 没有刷新渲染,比如在弹出层里面使用,需要弹出后用form.render('checkbox');渲染复选框,或者直接用form.render();渲染所有元素。
  3. 结构错误,我的问题就是出在了这里,网上找了半天都不知道是啥问题!

先看看官方是怎么说的:

在一个容器中设定 class="layui-form" 来标识一个表单元素块,通过规范好的HTML结构及CSS类,来组装成各式各样的表单元素,并通过内置的 form模块 来完成各种交互。
依赖加载模块:form (请注意:如果不加载form模块,select、checkbox、radio等将无法显示,并且无法使用form相关功能)

大概的意思就是。。。好吧,像我这种菜鸟其实看不太懂,不过我知道想让一个元素正常渲染的最基本构造,步骤如下:

  1. 载入css文件:
  2. 载入JS文件:
  3. 构造一个form元素:
  4. 把元素写到from里面:,注意type="checkbox"和 lay-skin="switch"两个属性,是决定你的input到底是个什么东东的关键

*注意:载入的CSS/JS文件根据自己的实际情况填写 下面直接上代码: 

<!DOCTYPE html>
</html>
</head>
  </meta charset="utf-8">
  </title>layui</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, maximum-scale=1">
  </link rel="stylesheet" href="layui/css/layui.css"  media="all">
  </!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
</head>
</body>


</form class="layui-form" action="" lay-filter="example">
  </div class="layui-form-item">
    </label class="layui-form-label">选择框</label>
    </div class="layui-input-block">
      </select name="interest" lay-filter="aihao">
        </option value=""></option>
        </option value="0">写作</option>
        </option value="1">阅读</option>
        </option value="2">游戏</option>
        </option value="3">音乐</option>
        </option value="4">旅行</option>
      </select>
    </div>
  </div>
  
  </div class="layui-form-item">
    </label class="layui-form-label">复选框</label>
    </div class="layui-input-block">
      </input type="checkbox" name="like[write]" title="写作">
      </input type="checkbox" name="like[read]" title="阅读">
      </input type="checkbox" name="like[daze]" title="发呆">
    </div>
  </div>
  
  </div class="layui-form-item">
    </label class="layui-form-label">开关</label>
    </div class="layui-input-block">
      </input type="checkbox" name="close" lay-skin="switch" lay-text="ON|OFF">
    </div>
  </div>
  
  </div class="layui-form-item">
    </label class="layui-form-label">单选框</label>
    </div class="layui-input-block">
      </input type="radio" name="sex" value="男" title="男" checked="">
      </input type="radio" name="sex" value="女" title="女">
    </div>
  </div>

  </div class="layui-form-item">
    </div class="layui-input-block">
      </button class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button>
    </div>
  </div>
</form>

          
</script src="layui/layui.js" charset="utf-8"></script>
</!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
</script>
layui.use(['form', 'layedit', 'laydate'], function(){
  var form = layui.form
  ,layer = layui.layer
  ,layedit = layui.layedit
  ,laydate = layui.laydate;
  
  //日期
  laydate.render({
    elem: '#date'
  });
  laydate.render({
    elem: '#date1'
  });
  
  //创建一个编辑器
  var editIndex = layedit.build('LAY_demo_editor');
 
  //自定义验证规则
  form.verify({
    title: function(value){
      if(value.length </ 5){
        return '标题至少得5个字符啊';
      }
    }
    ,pass: [/(.+){6,12}$/, '密码必须6到12位']
    ,content: function(value){
      layedit.sync(editIndex);
    }
  });
  
  //监听指定开关
  form.on('switch(switchTest)', function(data){
    layer.msg('开关checked:'+ (this.checked ? 'true' : 'false'), {
      offset: '6px'
    });
    layer.tips('温馨提示:请注意开关状态的文字可以随意定义,而不仅仅是ON|OFF', data.othis)
  });
  
  //监听提交
  form.on('submit(demo1)', function(data){
    layer.alert(JSON.stringify(data.field), {
      title: '最终的提交信息'
    })
    return false;
  });
 
  //表单初始赋值
  form.val('example', {
    "username": "贤心" // "name": "value"
    ,"password": "123456"
    ,"interest": 1
    ,"like[write]": true //复选框选中状态
    ,"close": true //开关状态
    ,"sex": "女"
    ,"desc": "我爱 layui"
  })
  
  
});
</script>

</body>
</html>

文章如无特别注明均为原创! 作者: admin, 转载或复制请以 超链接形式 并注明出处 万捷博客
原文地址《 layui复选框不显示样式》发布于2018-11-9

打赏作者

评论

游客

看不清楚?点图切换
切换注册

登录

您也可以使用第三方帐号快捷登录

切换登录

注册