【发布时间】:2019-07-21 08:10:52
【问题描述】:
我正在尝试将 jquery 的两个不同功能组合成一个功能。
第一个功能是选择下拉菜单时,如果“值”是 URL,则跳转到该 URL,但如果下拉菜单没有 URL,则检查它是否有可以打开的模式!
$(function() {
// bind change event to select
$modal = $('#LoginRegister');
if ($(this).val() === 'LoginRegister') {
$modal.modal('show');
} else {
$('#designselectedchange').on('change', function() {
var url = $(this).val(); // get selected value
if (url) { // require a URL
window.location = url; // redirect
}
return false;
});
}
});
<script src="https://code.jquery.com/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<select title="Select Design" class="selectpicker" id="designselectedchange" name="design">
<option value="/frequently-asked-questions/index.html?question=client-id-register-login-view-progress-previous-order-quotations">pop up</option>
<option value="LoginRegister">Login modal</option>
</select>
<div class="modal fade" id="LoginRegister" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">Login/Register</h4>
</div>
<div class="modal-body">
test
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
【问题讨论】:
-
if($(this).val() === 'LoginRegister'){$(this)是指什么?它不在侦听器处理程序中,因此它将是window.. -
我是 php 编码器而不是 jquery 编码器。如果我将 jquery 函数分成两部分,URL 和 Modal 函数每个都可以工作。除了它会同时运行这两个函数。
-
stackoverflow.com/questions/37643148/… (所以这个函数我正在尝试使用我已经存在的跳转到 URL 函数)
-
jsfiddle.net/user1296114/oyqrvtxb/15 (这里是两个函数分开,但模态是打开然后运行的URL不起作用)
标签: jquery twitter-bootstrap-3 html-select dropdown