我正在尝试实现一个按钮,让它看起来像一个日历。是here寄来的。当我在一个空文件中执行此操作并加载它时,它可以工作,但当我尝试与我的代码混合时,什么都不会出现。该按钮在一个下拉菜单中,该下拉菜单中还有两个按钮:"Categoria“和"Nome",当单击这些按钮时,每个按钮都会出现一个搜索/筛选框。
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />
<div class="dropDown">
<button onclick="dropDown()" class="dropBtn">Filtro</button>
<div id="myDropDown" class="dropDown-content">
<button onclick="containCatText()" class="catbtn">Categoria</button>
<div id="myDropdownCat" class="catdown-content">
<input type="text" placeholder="Procurar.." id="myInput" onkeyup="filterFunction()">
</div>
<button onclick="calendar()" class="calbtn">Date</button>
<div id="myCal" class="cal-content">
<input type="text" name="daterange" value="01/01/2018 - 01/15/2018" />
</div>
<script>
$(function containText() {
$('input[name="daterange"]').daterangepicker({
opens: 'left'
}, function(start, end, label) {
console.log("A new date selection was made: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
});
});
function calendar() {
$('input[name="daterange"]').focus();
}
</script>
<button onclick="containNamText()" class="nambtn">Nome</button>
<div id="myDropdownNam" class="namdown-content">
<input type="text" placeholder="Procurar.." id="myInput" onkeyup="filterFunction()">
</div>
</div>
</div>
</div>
<script>
function containCatText() {
document.getElementById("myDropdownCat").classList.toggle("show");
}
function containNamText() {
document.getElementById("myDropdownNam").classList.toggle("show");
}
window.onclick = function(event) {
if (!event.target.matches('.catbtn')) {
var dropdowns = document.getElementsByClassName("catdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
else if (!event.target.matches('.nambtn')) {
var dropdowns1 = document.getElementsByClassName("namdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
</script>
<script>
function dropDown() {
document.getElementById("myDropDown").classList.toggle("Show");
}
</script>
我是不是遗漏了什么?我遇到了这个错误:
未捕获TypeError:$(...).daterangepicker不是HTMLInputElement中的函数。(提要:226)电子邮件: HTMLInputElement.dispatch ( jquery.min.js:3 )电子邮件: HTMLInputElement.q.handle (jquery.min.js:3) (匿名)@Feed:226调度@jquery.min.js:3 q.handle @ jquery.min.js:3
https://stackoverflow.com/questions/51976228
复制相似问题