значение datepicker пусто, если отключено, jquery - PullRequest
2 голосов
/ 09 июня 2010

Я довольно новичок в jQuery.У меня есть Jquery DatePicker в пользовательском элементе управления.Я добавил свойство «отключить» в средство выбора даты.Всякий раз, когда я сохраняю страницу (с этим контролем пользователя), средство выбора даты с отключенным значением true равно пустому.Все остальные средства выбора даты сохраняются нормально.

Вот мой код.

ASPX

ASCX

Код ASCX за

Public Property Disable() As Boolean
        Get
           Return (txtDate.Disabled = True)
        End Get
        Set(ByVal bValue As Boolean)

            If (bValue = True) Then
                txtDate.Attributes.Add("Disabled", "True")
            Else
                txtDate.Attributes.Remove("Disabled")
            End If

        End Set


    End Property

Мой Jquery

$ (документ) .ready (function () {

    $("input[id$=txtDate]").datepicker({ showOn: 'button', buttonImage: '<%=ConfigurationSettings.AppSettings("BASE_DIRECTORY")%>/Images/el-calendar.gif', buttonImageOnly: true });
    $("input[id$=txtDate]").mask("99/99/9999", { placeholder: " " });


    //Disable datepicker if "disable=true"
    $("input[id$=txtDate]").each(function() {

    if ($("input[id$=" + this.id + "]").attr("Disabled") == "True") {          
            $("input[id$=" + this.id + "]").datepicker("disable");               
        }
        else if ($("input[id$=" + this.id + "]").attr("Disabled") == "False") {
            $("input[id$=" + this.id + "]").datepicker("enable");
        }

    });


});

Яизвините, я не уверен, как форматировать код здесь. Я прошу прощения за загроможденный код. Кто-нибудь может сказать мне, почему значение datepicker пусто, когда оно отключено, но работает нормально в противном случае? Спасибо заранее.

Ответы [ 3 ]

1 голос
/ 09 июня 2010

Просто предположение, но попробуйте использовать READONLY вместо DISABLED?

0 голосов
/ 02 мая 2017

Этот код работал для меня

$('input:checkbox[name=cmpltInd]').change(function () {
   if ($(this).is(':checked')) {
      $('#efctDt').attr('readonly', true).datepicker("option", "showOn", "off");
   }
   else {
      $('#efctDt').attr('readonly', false).datepicker("option", "showOn", "focus");
   }
});
if ( ($('input:checkbox[name=cmpltInd]') != "undefined") && ($('input:checkbox[name=cmpltInd]').prop("checked")== true)) {
     $('#efctDt').attr('readonly', true).datepicker("option", "showOn", "off");
 }
0 голосов
/ 02 июля 2012

Я думаю, что также использование свойства readonly в true не изменяет начальное значение в обратной передаче

, если вы настаиваете на использовании свойства readonly, вы измените переопределение get Text следующим образом

public override string Text
{
    get
    {
        if (!base.ReadOnly)
            return base.Text;

        string s = HttpContext.Current.Request.Params[this.UniqueID];
        if (s == null)
            return base.Text;
        else
        {
            base.Text = s;
            return s;
        }
    }
    set
    {
        base.Text = value;
    }
}

Привет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...