Visual Studio给了.net开发无数的方便,但是也带来了无数的坑=。=
今天就要又碰到一个坑,作为一名后端猿,前端水平实在令人捉鸡,所以开发的时候难免用现成的UI框架。
Layui是一款界面美观的UI,虽然功能性没有EasyUI齐全,但是它好看呀
Select是前端经常要用到的控件(别问我为什么不用dropdownlist,戒了。。。。),引入layui后,layui会自动设置这个Select的样式,但是问题就来了,引入Select控件后不能直接用 $("#xxx").val("xxx");来设置选中项了,搜索了N都文档都没解决问题。最后没办法,把网上的解决方案一个一个看过来,终于找到一个完美的解决方案了,下面上代码,引用路径就不贴了
<body>
<form id="testForm" runat="server">
<input id="btn_test" type="button" value="button" />
<div class="layui-form-item">
<label class="layui-form-label">选择框</label>
<div class="layui-input-block">
<select id="test">
<option value=""></option>
<option value="0">测试值0</option>
<option value="1">测试值1</option>
<option value="2">测试值2</option>
<option value="3" >测试值3</option>
<option value="4">测试值4</option>
</select>
</div>
</div>
</form>
<script type="text/javascript">
layui.use('form', function ($, form) {
var $ = layui.$;//重点在layui中引用JQ必须写这一句
var form = layui.form;
$('#btn_test').click(function () {
$("#test").val("2");
form.render('select', 'testForm');
});
});
</script>
</body>
最最最重要的一件事:调用的时候 不要使用服务器控件!不要使用服务器控件!不要使用服务器控件!
因为使用服务器控件后会刷行页面导致选择值又被初始化了,傻傻的我就是用了一个<button>而不<input>然后就出现了神奇的一幕,选中后选中值出现一秒不到然后又跳到默认值了,泪奔,不说了,继续码代码去。