Jquery Yii:CJuiDatePicker字段值未使用JS设置为null

Jquery Yii:CJuiDatePicker字段值未使用JS设置为null,jquery,yii,Jquery,Yii,我正在使用CJuiDatePicker输入字段作为日期值。用户输入后,我需要将其设置为空白。我在JS例程中使用了以下所有选项,但似乎没有任何效果。奇怪的是,我可以从日期字段中选择值,但不能将其设置为空。我无法隐藏它,因为后续输入需要日期字段 $('#dateFieldId').val(''); $('#dateFieldId').val(""); $('#dateFieldId').val(null); $('#dateFieldId').val()=null; 以下是生成CJuiDatePi

我正在使用CJuiDatePicker输入字段作为日期值。用户输入后,我需要将其设置为空白。我在JS例程中使用了以下所有选项,但似乎没有任何效果。奇怪的是,我可以从日期字段中选择值,但不能将其设置为空。我无法隐藏它,因为后续输入需要日期字段

$('#dateFieldId').val('');
$('#dateFieldId').val("");
$('#dateFieldId').val(null);
$('#dateFieldId').val()=null;
以下是生成CJuiDatePicker的代码片段:

$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model'=>$model,
'attribute'=>'history_date',
'options'=>array('changeMonth'=>'true','changeYear'=>'true','yearRange'=>'-70:+0'),             
));
有什么建议吗

提前谢谢

问候


费萨尔

我不明白为什么这不管用

<script>
    $(function(){
        $("#dateFieldId").change(function(){
            $(this).val("");
        });
    });
</script>
图形日期选择器上的日期选择可能是在清除输入后设置的


或者,datepicker API具有回调函数,应该有一个可用的after_select或callback函数

正如您在评论中提到的,您正在动态添加元素。jQuery事件处理程序(例如,.change)不会附加到动态添加的事件

你需要使用。在页面上选择一个永久性元素-$‘body’通常会起作用,但就性能而言,最好选择更深层的元素,也许是表单的包装

对于您的输入项,您需要以下内容:

$('<parentSelector>').on('change', '#calendarSelector', function() { 
    $(this).val() = '';
})

其中parentSelector在DOM中比input元素更高,并且是页面加载时存在的元素,可能是表单ID或其他东西。

因此您可以在更改后提醒输入值,但不设置为?是,我可以提醒用户输入的值,但不能重置它。您可以发布用于处理该值的JS吗?以下是JS代码片段:函数selectData{var history_date=$'dateFieldId'.val;alterhistory_date;}尝试设置$model->history_date=null;在打电话给widgetyes之前,这很奇怪。顺便说一句,您的建议甚至不允许用户输入数据,只要用户离开日期字段,日期就设置为null……:你是否有一个在线的例子,或者你能把它放到jsFiddle中吗?它还没有在线,但jsFiddle对我来说也是新的,让我在那里温习一下,然后再回来……非常感谢你的及时回复……问候……很酷,对不起,帮不上忙,请查看文档。它必须是在任何其他js被执行之后,从datepicker被激发的日期的设置。好了,现在它工作了。我在DOM中添加了一个div,并在添加新div之前移动了日期代码,只是为了检查它是否导致任何错误,因为这样处理就会停止。令我惊讶的是,它起作用了……对此有什么想法……从根本上说,它应该起作用,否则……谢谢你的投入。这里的问题是在用户按下Add按钮后,将正文中的现有项重置为NULL。在Add操作中,我获取dataField的值并动态创建一个新项并将其添加到Body中。关于我最后对爱斯基摩人回答的评论,我仍然很困惑,如果我在添加动态内容之前创建了数据字段,并且只有在添加之后才创建,为什么它不会重置数据字段,对此有何想法?当我处理动态内容的事件时,您所指出的肯定会对我有所帮助。当做Faisal@FaisalKhan从您的注释听起来,它听起来好像dateFieldId在您要添加的DOM中,如果是这样,它就是一个没有处理程序的新元素。如果我不正确,关于动态添加日期字段,例如在加载主页之后,即通过javascript函数,那么这将不适用。