问题描述
我想通过选中复选框来单击,但是TextBox没有显示我的日期选择器,并且需要一些帮助,没有javascript错误。这可能是什么原因?这是我的逻辑
$(document).ready(function() {
// bind an event with checkBox on click. On click function onClickCheckBox will be called.
$('#Lockuntil').on('click',onClickCheckBox);
// to hide or show on page load.c
onClickCheckBox();
});
// logic to show hide textBox based on checkBox's value
function onClickCheckBox() {
if ($('#Lockuntil').is(":checked")) {
$("#TextValue").show();
} else {
$("#TextValue").hide();
}
}
<div class="row">
<div class="form-group">
<div class="col-sm-2">
@Html.CheckBoxFor(model => model.Lockuntil,new { @class = "rb",id = "Lockuntil" })
@Html.TextBoxFor(model => model.TextValue,new { @class = "datepicker",id = "TextValue" })
</div>
</div>
</div>
解决方法
<script type="text/javascript">
$(document).ready(function () {
$(document).on("click","#Lockuntil",onClickCheckBox) // bind an event with checkbox on click. On click function onClickCheckBox will be called.
$('#TextValue').datepicker({
orientation: "bottom auto",format: 'dd MM yyyy',todayHighlight: true,minDate: 0
}).on('changeDate',function (ev) {
$(this).datepicker('hide');
});
onClickCheckBox(); // to hide or show on page load.c
});
function onClickCheckBox() // logic to show hide textbox based on checkbox's value.
{
if ($('#Lockuntil').is(":checked")) {
$("#TextValue").show();
}
else {
$("#TextValue").hide();
}
}
</script>