【发布时间】:2017-10-02 01:13:55
【问题描述】:
我正在尝试创建一个具有下拉值的输入字段。如果选择了某个项目(选择日期),我希望它显示一个日期选择器以便能够选择一个日期。
我的问题是:
如果选择“选择日期”,日期选择器对话框不会立即弹出。您必须再次单击该字段才能显示它。
选择“选择日期”后,现在每次单击该字段时都会显示日期选择器。日期选择器应仅在选择“选择日期”时显示。
这是我的代码:
$('.dropdown-menu a').click(function() {
var selectValue = $(this).attr('data-value');
var selectText = $(this).attr('data-text');
if (selectValue == 3) {
$('#date_select').datepicker({
daysOfWeekDisabled: "0,6",
autoclose: true,
todayHighlight: true
});
$("#date_select").datepicker("show");
} else {
$("#date_select").val(selectText);
}
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://uxsolutions.github.io/bootstrap-datepicker/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
<div id="pickDate" class="input-group dropdown date">
<input type="text" id="date_select" class="form-control" data-toggle="dropdown" required/>
<ul class="dropdown-menu" id="date_menu">
<li><a href="#" data-value="1" data-text="Soon">Soon</a></li>
<li><a href="#" data-value="2" data-text="Someday">Someday</a></li>
<li><a href="#" data-value="3" data-text="Select Date">Select Date</a></li>
</ul>
<span class="input-group-addon" data-toggle="dropdown">
<span role="button" class="caret"></span>
</span>
</div>
我正在使用引导日期选择器。
【问题讨论】:
-
第一次尝试
selectValue得到了什么? -
我得到了 3。我在 "if" 语句上使用了 alert(selectValue) 来测试它。
-
第一次触发
click事件后,selectValue的值始终为3。由于下拉菜单已更改为日期选择器,因此无论点击事件多次触发,它都会显示日期选择。 -
我通过添加 $('#pickDate').datepicker('remove');在函数的最后。但我仍然有日期选择器对话框未显示的问题是选择了“选择日期”。
-
你为 datepicker 使用了哪个库?
标签: jquery twitter-bootstrap datepicker dropdown