我在使代码在不同的浏览器上运行时遇到了一些麻烦。我已经在JavaScript中编写了计算代码,但是,这仅适用于Chrome,但不适用于其他某些浏览器。Javascript代码仅适用于Chrome
这里是Mozilla的 mozilla keep giving 1 value from the calculating result
这里的截图与铬 with chrome it give a success
的截图这是我的形式 -
<div class="control-group">
<?php echo $form->labelEx($model,'START_DATE', array('class'=>'control-label')); ?>
<?php $this->widget('zii.widgets.jui.CJuiDatePicker',
array(
'name'=>'TrnProjectScheduleAct[START_DATE]',
'id'=>'TrnProjectScheduleAct_START_DATE',
'value'=>$newformat = $model->START_DATE===NULL ? '' : date('d-M-Y', strtotime($model->START_DATE)),
'options'=>array(
'showAnim'=>'fold',
'dateFormat' => 'dd-M-yy',
'onSelect' => 'js:function(){
myUpdate(
$("#TrnProjectScheduleAct_START_DATE").val(),
$("#TrnProjectScheduleAct_END_DATE").val(),
$("#TrnProjectScheduleAct_TOTAL")
);}',
),
'htmlOptions'=>array(
'style'=>'height:20px;', 'readonly'=>true
),
));
?>
<?php echo $form->error($model,'START_DATE'); ?>
</div>
<div class="control-group">
<?php echo $form->labelEx($model,'END_DATE', array('class'=>'control-label')); ?>
<?php $this->widget('zii.widgets.jui.CJuiDatePicker',
array(
'name'=>'TrnProjectScheduleAct[END_DATE]',
'id'=>'TrnProjectScheduleAct_END_DATE',
'value'=>$newformat = $model->END_DATE===NULL ? '' : date('d-M-Y', strtotime($model->END_DATE)),
'options'=>array(
'showAnim'=>'fold',
'dateFormat' => 'dd-M-yy',
'onSelect' => 'js:function(){
myUpdate(
$("#TrnProjectScheduleAct_START_DATE").val(),
$("#TrnProjectScheduleAct_END_DATE").val(),
$("#TrnProjectScheduleAct_TOTAL")
);}'
),
'htmlOptions'=>array(
'style'=>'height:20px;', 'readonly'=>true
),
));
?>
<?php echo $form->error($model,'END_DATE'); ?>
</div>
<div class="control-group">
<?php echo $form->labelEx($model,'DAYS', array('class'=>'control-label')); ?>
<?php echo $form->textField($model,'DAYS',array('size'=>10,'maxlength'=>10, 'readonly'=>true, 'id'=>'TrnProjectScheduleAct_TOTAL')); echo " Estimasi hari belum termasuk tanggal merah"; ?>
<?php echo $form->error($model,'DAYS'); ?>
</div>
这是脚本
<script>
$('#TrnProjectScheduleAct_START_DATE, #TrnProjectScheduleAct_END_DATE').change(function() {
if ($('#TrnProjectScheduleAct_START_DATE').is(":checked")) {
$('#TrnProjectScheduleAct_END_DATE').attr('disabled', true);
}
else {
$('#TrnProjectScheduleAct_END_DATE').attr('disabled', false);
}
if ($('#TrnProjectScheduleAct_END_DATE').is(":checked")) {
$('#TrnProjectScheduleAct_START_DATE').attr('disabled', true);
}
else {
$('#TrnProjectScheduleAct_START_DATE').attr('disabled', false);
}
});
function myUpdate(dt1, dt2,upd){
var msec1 = dt1;
var date1 = new Date(msec1);
var msec2 = dt2;
var date2 = new Date(msec2);
var diff = (isFinite(Math.round (date2 - date1)/86400000) && Math.round (date2 - date1)/86400000 || 0);
var wEnd=0;
if(date1>0 || date2>0){
for(var i=0; i<=diff; i++){
if(date1.getDay() ==6 || date1.getDay()==0){
wEnd = wEnd + 1;
}
date1.setDate(date1.getDate() + 1);
}
}
upd.val(Math.round((diff-wEnd)+1));
};
</script>
有谁知道这里有什么问题? 希望你能帮忙,并提前致谢。
请添加该函数的调用。 –
只要使用一些好的工具,它已经干净:https://momentjs.com/ – sjahan
你是否在你的开发工具的控制台中得到错误,比如说firefox? – mausinc