微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单击复选框时未显示Datepicker?

如何解决单击复选框时未显示Datepicker?

我想通过选中复选框来单击,但是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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。