动态启用基于附加字段的动态状态禁用datepick

时间:2012-10-11 11:36:07

标签: jquery html datepicker

我认为这可能是jquery-datepick.js中的错误(http://keith-wood.name/datepick.html

情况:

我有一个带有datepick的输入文本字段。默认情况下禁用此字段。所以datepick也被禁用了(好吧,那没关系)。现在,这个字段基于一个单选按钮启用/禁用。我正在使用jquery并且它工作正常,除了根据字段的“动态状态”未启用/禁用日期选择。

我尝试了什么

我尝试根据相同的单选按钮手动启用/禁用datepick。就像这样:

function enbDsb(id1, id2){
        var target = '#' + id2;
        if($('#' + id1).val() == 'Y'){
            $(target).removeAttr('disabled');
            if($(target).hasClass('hasDatepick')){
            /*alert("enable now");*/
            }
        }else{
            $(target).attr('disabled', true);
            if($(target).hasClass('hasDatepick')){
            /*alert("disable now");*/
            }
        }
    }

其中id1 = radio_id和id2 = textfield id(有datepick)

我用过

$(target).datepick({ disable: false });

还有这个

$(target).datepick({ disabled: false });

但没有人工作...... :(

$.extend(Datepicker.prototype, {
    dataName: 'datepick',
    markerClass: 'hasDatepick',        
..........rest
}

^^以防万一有人要求使用'datepicker'而不是'datepick'

请帮助....谢谢!

1 个答案:

答案 0 :(得分:0)

...唉唉

解决了它......!

刚刚使用了这个

function enbDsb(id1, id2){
        var target = '#' + id2;
        if($('#' + id1).val() == 'Y'){
            $(target).removeAttr('disabled');
            if($(target).hasClass('hasDatepick')){
            $(target).datepick('enable');
            }
        }else{
            $(target).attr('disabled', true);
            if($(target).hasClass('hasDatepick')){
            $(target).datepick('disable');
            }
        }
    }

它就像魅力一样!