JQuery / Bootstrap 日期选择器在单击下拉列表中



我是前端开发的新手,所以请原谅我的无知,但我有 Bootstrap 下拉菜单,当用户单击它们时,我希望它拉出日期选择器,以便用户可以选择一个日期。然后我最终会将菜单选择和日期选择传递到变量中,但我什至无法达到在选择菜单时弹出日期选择器的地步。

以下是我尝试过的几个例子,尽管我已经尝试了很多不同的技术。我从 Pere 关于此线程的建议中得到的第一个 JQuery UI 日期选择器:制作链接触发器日期选择器,但我收到一个错误,说当我运行它时日期选择器不是一个函数。我相信这里有人会立即看到这个,并能够找出我做错了什么,所以请帮助我。

$(document).ready(function () {
$('#datepicker').datepicker()
$('.dropdown-item').click(function () {
$('#datepicker').toggle()
});
});
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
Menu
</button>
<div class="dropdown-menu">
<a class="dropdown-item" id="1">1</a>
<a class="dropdown-item" id="2">2</a>
<a class="dropdown-item" id="3">3</a>
<a class="dropdown-item" id="4">4</a>
<input type=date id=datepicker>
</div>
</div>

$(document).ready(function () {
$('#datepicker').hide()
$('.dropdown-item').click(function () {
$('#datepicker').show()
});
});
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
Menu
</button>
<div class="dropdown-menu">
<a class="dropdown-item" id="1">1</a>
<a class="dropdown-item" id="2">2</a>
<a class="dropdown-item" id="3">3</a>
<a class="dropdown-item" id="4">4</a>
<input type=date id=datepicker>
</div>
</div>

如果有人偶然发现了和我一样的问题,在拔掉了一整天的头发之后,以下是我最终确定的,它有效!它返回日期和下拉行的 ID,因此我可以将其传递到更大的应用程序中。

<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Datepicker</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="../static/bootstrap-datepicker.js"></script>
<link href="../static/bootstrap-datepicker.css" rel="stylesheet" />
<script>
$(document).ready(function () {
$('.dropdown-item').datepicker({
format: 'mm/dd/yyyy'
});
$('.dropdown-item').on('changeDate', function (event) {
alert(this.id + ' ' + event.format());
});
});
</script>
</head>
<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
Menu
</button>
<div class="dropdown-menu">
<a class="dropdown-item" id="1">1</a>
<a class="dropdown-item" id="2">2</a>
<a class="dropdown-item" id="3">3</a>
<a class="dropdown-item" id="4">4</a>
<input id=datepicker />
</div>
</div>
</html>

最新更新