在readonly创建字段后无法阻止日期选择器显示

时间:2017-08-28 13:39:06

标签: jquery html5 datepicker

datepicker附加了一个字段:

...
<input type="text" class="datepicker chp_" name="dateDebut" />
...

<?php $this->load->view("footer"); ?>

<script type="text/javascript">
$(document).ready(function() {

    var idSpecialite = "<?php echo $this->session->userdata('idSpecialite'); ?>";

    if (idSpecialite != 4) {

        $("#tab1").find(".chp_").each(function(){
            $(this).attr("readonly","");
            if ($(this).hasClass("datepicker")) {
                $(this).removeClass("datepicker");
            }
        });

    }

});

在页脚中有这样的:

<script type="text/javascript">
     ...
    $(function() {

        $(".datepicker").datepicker({
            language: 'fr',
            autoclose: true
        });

    });
</script>

如您所见,我希望该字段在特定条件下不可编辑。但是在运行时,当我单击该字段时,选择器仍会显示,并且在选择日期时可以更改字段的值!那么如何在这种情况下不显示选择器?

2 个答案:

答案 0 :(得分:1)

尝试使用此代码将其设为只读

$this.attr('readonly','readonly');

还要确保idSpecialite的值不是4,你可以将结果转换为整数来看它,如下所示:

var idSpecialite = parseInt("<?php echo $this->session->userdata('idSpecialite'); ?>");

答案 1 :(得分:1)

好的,我使用了disabled属性,然后选择器没有显示:

if (idSpecialite != 4) {

    $("#tab1").find(".chp_").each(function(){
        $(this).attr("disabled",true);
    });

}