0

我正在使用 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'),             
));

有小费吗....?

提前致谢。

问候

费萨尔

4

2 回答 2

0

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

您需要使用on() 和委托事件。在页面上选择一个永久元素 -$('body')通常应该可以工作,但性能方面,最好选择更下方的东西,也许是表单周围的包装器?

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

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

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

于 2012-10-15T23:40:00.477 回答
0

我不明白为什么这不起作用?

<script>
    $(function(){
        $("#dateFieldId").change(function(){
            $(this).val("");
        });
    });
</script>

清除输入后,可能正在设置图形日期选择器上的日期选择。

或者,datepicker API 有一个回调函数。查看文档,应该有一个 after_select 或回调函数可用

于 2012-10-15T17:29:56.850 回答