从下拉菜单中选择一个列表项打开模式?我应该使用jquery/js吗?
Select a list item from dropdown to open modal? Should I use jquery/js?
我正在尝试创建一个下拉列表项目,当用户选择一个特定的"时间",例如"稍后",触发稍后模式打开。(原始代码是select/option,但我有javascript将其转换为ul/li的样式目的)
这是列表项代码。
<ul class="select-options" style="display: none;">
<li value="asap">Delivery ASAP</li>
<li value="later">Delivery Later</li>
<li value="catering">Catering</li>
</ul>
这是模态代码。
<div class="later-modal">
<p>Select a time to deliver.</p>
</div>
<div class="catering-modal">
<p>Select a time to cater.</p>
</div>
我应该使用if/else语句来打开一个模态吗?我不知道现在该怎么做。我也没有使用任何类型的引导。
任何帮助都将是感激的,谢谢!
我把下拉菜单变成了一个真正的下拉菜单(select element)
解决方案如下:
$('li').click(function(){
$('.modal').hide();
$('.' + $(this).attr('data-value') + '-modal').show();
$('#dropdown').removeAttr('checked');
});
label {
cursor:pointer;
border:1px solid silver;
border-radius:5px;
padding:2px;
}
ul {
list-style:none;
padding:2px;
margin:0;
border:1px solid silver;
border-radius:5px;
position:absolute;
}
li {
margin:0;
cursor:pointer;
}
#dropdown {
display:none;
}
.select-options {
opacity:0;
transition:all .2s ease;
}
#dropdown:checked + .select-options {
opacity:1;
}
.modal {
display:none;
background:rgba(0,0,0,0.8);
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
background:#000;
color:#fff;
padding:10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="dropdown">Choose time</label>
<input type="checkbox" id="dropdown" />
<ul class="select-options">
<li data-value="asap">Delivery ASAP</li>
<li data-value="later">Delivery Later</li>
<li data-value="catering">Catering</li>
</ul>
<div class="modal later-modal">
<p>Select a time to deliver.</p>
</div>
<div class="modal catering-modal">
<p>Select a time to cater.</p>
</div>
我很抱歉之前我已经复制坏的代码块…试试这个
$(document).ready(function() {
$("#later").click(function() {
$(".later-modal").toggle();
});
$("#catering").click(function() {
$(".catering-modal").toggle();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="select-options" style="display: block;">
<li value="asap">Delivery ASAP</li>
<li id="later" value="later">Delivery Later</li>
<li id="catering" value="catering">Catering</li>
</ul>
<div class="later-modal" style="display: none;">
<p>Select a time to deliver.</p>
</div>
<div class="catering-modal" style="display: none;">
<p>Select a time to cater.</p>
</div>
相关文章:
- 我应该如何从xml文件构建一个javascript页面
- 我应该使用Ng提交还是点击表格
- 在Redux中,我应该在哪里编写复杂的异步流
- 我应该如何检查主干.主干.模型更改时查看
- 我应该先学习Angularjs还是Laravel
- 是否有任何可能的原因使我应该指定类型=“”;按钮“;用于我的按钮元素
- 我应该使用什么正则表达式来验证数字模式
- 我应该如何在JS中使用揭示模块模式,传递引用,并避免加载顺序问题
- 我应该使用什么模式在 Node/JavaScript 中制作监听机器人
- extjs“iframe架构”的缺点(我应该重构为MVC模式吗?
- AngularJS设计模式:我应该使用工厂来创建构造函数吗
- 在React中我应该遵循什么设计模式
- 在检查多个ajax请求完成情况时,我应该应用什么设计模式
- 我应该在哪个Shopify.liquid文件中插入主页模式
- 我应该如何使用模块模式处理一个长JavaScript文件
- 我应该使用IE9'还是IE8文档模式'调试IE8支持
- 从下拉菜单中选择一个列表项打开模式?我应该使用jquery/js吗?
- 我应该使用哪个jQuery插件设计模式
- 我应该使用什么正则表达式来匹配此日期模式:DAY.month.YEAR
- 我应该如何实现面向对象模式的交互式web应用程序(与jQuery的助手)