因为jquery选择下拉框触发事件的实现而焦头烂额,先前我用了对下拉框option中的id用了click事件,在火狐中竟然能运行而在其他浏览器却不行,这让我一度以为是浏览器兼容问题。
错错错,option中没有id也没有click事件。
我的天,超级发现问题超级开心。
下面是我的实现。
所需知识
bind()方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。
其语法为:
$(selector).bind(event,data,function)
参数说明如下:
event:规定添加到元素的一个或多个事件。必需。
data: 规定传递到函数的额外数据。可选。
function: 规定当事件发生时运行的函数。必需。
实现步骤:
- 在select的option中添加value值,便于区分,就设置为123
- 导入jquery的cdn
- 先将tongzhi和shiyan这两个div块隐藏
- 选择select添加bind() 方法
- 在function中进行判断,如果为value=2,那么显示shiyan,否则显示其他页面。
<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script type="text/javascript" charset="utf-8" src="ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="ueditor.all.min.js"></script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" charset="utf-8" src="lang/zh-cn/zh-cn.js"></script>
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link href="../../后台/Hplus-v/css/datetime/bootstrap-datetimepicker.min.css" rel="stylesheet" />
<link rel="shortcut icon" href="favicon.ico">
<link href="../../后台/Hplus-v/css/font-awesome.css?v=4.4.0" rel="stylesheet">
<link href="../../后台/Hplus-v/css/animate.css" rel="stylesheet">
<link href="../../后台/Hplus-v/css/style.css?v=4.1.0" rel="stylesheet">
<!-- 全局js -->
<!-- <script src="../../后台/Hplus-v/js/jquery.min.js"></script>-->
<script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>
<!-- <script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>-->
<!--<script src="http://code.jquery.com/jquery-2.0.0.min.js"></script>-->
<!--<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>-->
<!--<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>-->
<!--<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>-->
<!--<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>-->
<!--<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>-->
<!--<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>-->
<script src="../../后台/Hplus-v/js/bootstrap.min.js?v=3.3.6"></script>
<!-- 自定义js -->
<script src="../../后台/Hplus-v/js/content.js?v=1.0.0"></script>
<!-- layerDate plugin javascript -->
<script src="../../后台/Hplus-v/js/plugins/layer/laydate/laydate.js"></script>
<script>//外部js调用
laydate({
elem: '#hello', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
event: 'focus' //响应事件。如果没有传入event,则按照默认的click
});
//日期范围限制
var start = {
elem: '#start',
format: 'YYYY/MM/DD hh:mm:ss',
min: laydate.now(), //设定最小日期为当前日期
max: '2099-06-16 23:59:59', //最大日期
istime: true,
istoday: false,
choose: function(datas) {
end.min = datas; //开始日选好后,重置结束日的最小日期
end.start = datas //将结束日的初始值设定为开始日
}
};
var end = {
elem: '#end',
format: 'YYYY/MM/DD hh:mm:ss',
min: laydate.now(),
max: '2099-06-16 23:59:59',
istime: true,
istoday: false,
choose: function(datas) {
start.max = datas; //结束日选好后,重置开始日的最大日期
}
};
laydate(start);
laydate(end);</script>
<script > $(function() {
$("#shiyan").hide();
$("select").bind("change", function() {
if(this.value == "2") {
$("#tongzhi").hide();
$("#shiyan").show();
} else {
$("#shiyan").hide();
$("#tongzhi").show();
}
})
});</script>
<style type="text/css">
body,
html {
overflow-x: hidden;
}
.div1 {
display: block;
margin-left: auto;
margin-right: auto;
margin-top: 20px;
width: 90%;
/*padding-bottom: 100%*/
}
.selectpicker {
display: block;
width: 100%;
height: 34px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
}
.demo-input {
padding-left: 10px;
height: 38px;
min-width: 262px;
line-height: 38px;
border: 1px solid #e6e6e6;
background-color: #fff;
border-radius: 2px;
}
.demo-footer {
padding: 50px 0;
color: #999;
font-size: 14px;
}
.demo-footer a {
padding: 0 5px;
color: #01AAED;
}
</style>
<script type="text/javascript">var ue=UE.getEditor('editor1');
var ue=UE.getEditor('editor2');
var ue=UE.getEditor('editor3');</script>
</head>
<body class="gray-bg">
<div class="div1">
<br>
<br>
<h1>发布文章</h1>
<hr style="border:5px solid #DDDDDD" />
<br>
<!--文章分类-->
<div class="col-lg-2" style="margin-top: 50px;">文章分类:</div>
<div class="col-lg-10" style="margin-top: 50px;">
<select name="se1" id="se1" class="selectpicker" style="width: 100%;">
<option value="0" name="option1" >通知</option>
<option value="1" name="option2">内部通知</option>
<option value="2" name="option3">实验项目简介及连接</option>
</select>
</div>
<!--通知-->
<div id="tongzhi" >
<!--项目名称-->
<div class="col-lg-2" style="margin-top: 50px;">标题:</div>
<div class="col-lg-10" style="margin-top: 50px;"> <input type="text" class="form-control" id="inputXiang" placeholder="输入内容" /></div>
<!--作者成员-->
<div class="col-lg-2" style="margin-top: 50px;">作者:</div>
<div class="col-lg-10" style="margin-top: 50px;">
<input type="text" class="form-control" id="inputXiang" placeholder="输入内容" />
</div>
<!--是否评论-->
<div class="col-lg-2" style="margin-top: 50px;">是否评论:</div>
<div class="col-lg-10" style="margin-top: 50px;"> <label class="radio-inline">
<input type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1"> 是
</label>
<label class="radio-inline">
<input type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2"> 否
</label></div>
<!--正文-->
<div class="col-lg-2" style="margin-top: 50px;">内容:</div>
<div class="col-lg-10" style="margin-top: 50px;">
<!--<script id="editor1" type="text/plain" style="width:1109px;height:500px;"></script>-->
<div id="editor1" type="text/plain" style="width:1109px;height:500px;"></div>
</div>
<!--确定-->
<div class="col-lg-2" style="margin-top: 50px;"></div>
<div class="col-lg-10" style="margin-top: 50px;">
<button class="btn btn-primary btn-block" onclick="alert('发布成功')">确定</button>
</div>
</div>
<!--实验项目-->
<div id="shiyan" >
<!--项目名称-->
<div class="col-lg-2" style="margin-top: 50px;">项目名称:</div>
<div class="col-lg-10" style="margin-top: 50px;"> <input type="text" class="form-control" id="inputXiang" placeholder="输入内容" /></div>
<!--项目名称-->
<div class="col-lg-2" style="margin-top: 50px;">项目名称:</div>
<div class="col-lg-10" style="margin-top: 50px;"> <input type="text" class="form-control" id="inputXiang" placeholder="输入内容" /></div>
<!--项目简介-->
<div class="col-lg-2" style="margin-top: 50px;">项目简介:</div>
<div class="col-lg-10" style="margin-top: 50px;">
<!--<script id="editor2" type="text/plain" style="width:1109px;height:500px;"></script>-->
<div id="editor2" type="text/plain" style="width:1109px;height:500px;"></div>
</div>
<!--作者成员-->
<div class="col-lg-2" style="margin-top: 50px;">作者成员:</div>
<div class="col-lg-10" style="margin-top: 50px;">
<input type="text" class="form-control" id="inputXiang" placeholder="输入内容" />
</div>
<!--上限日期-->
<div class="col-lg-2" style="margin-top: 50px;">上限日期:</div>
<div class="col-lg-10" style="margin-top: 50px;">
<input class="form-control layer-date" onclick="laydate({istime: true, format: 'YYYY-MM-DD hh:mm:ss'})">
<label class="laydate-icon"></label>
</div>
<!--进入查看-->
<div class="col-lg-2" style="margin-top: 50px;">进入查看:</div>
<div class="col-lg-10" style="margin-top: 50px;"> <input type="text" class="form-control" id="inputXiang" placeholder="输入内容" /></div>
<!--是否评论-->
<div class="col-lg-2" style="margin-top: 50px;">是否评论:</div>
<div class="col-lg-10" style="margin-top: 50px;"> <label class="radio-inline">
<input type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1"> 是
</label>
<label class="radio-inline">
<input type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2"> 否
</label></div>
<!--正文-->
<div class="col-lg-2" style="margin-top: 50px;">正文:</div>
<div class="col-lg-10" style="margin-top: 50px;">
<!-- <script id="editor3" type="text/plain" style="width:1109px;height:500px;"></script>-->
<div id="editor3" type="text/plain" style="width:1109px;height:500px;"></div>
</div>
<!--确定-->
<div class="col-lg-2" style="margin-top: 50px;"></div>
<div class="col-lg-10" style="margin-top: 50px;">
<button class="btn btn-primary btn-block" onclick="alert('发布成功')">确定</button>
</div>
</div>
</body>
</html>
这是我项目里的一个html页面,我就不把css给你们了,不过复制粘贴应该能运行,反正jquery下拉框选择触发事件是实现了。