Javascript 为什么单击此jquery日期选择器时单选按钮会重置
以下是datepicker的jquery:Javascript 为什么单击此jquery日期选择器时单选按钮会重置,javascript,jquery,datepicker,radio-button,reset,Javascript,Jquery,Datepicker,Radio Button,Reset,以下是datepicker的jquery: $.fn.dcalendarpicker = function(opts){ return $(this).each(function(){ var that = $(this); var cal = $('<table class="calendar"></table>'), hovered = false, selectedDate = false; that.wrap
$.fn.dcalendarpicker = function(opts){
return $(this).each(function(){
var that = $(this);
var cal = $('<table class="calendar"></table>'), hovered = false, selectedDate = false;
that.wrap($('<div class="datepicker" style="display:inline-block;position:relative;"></div>'));
cal.css({
position:'absolute',
left:0, display:'none',
'box-shadow':'0 4px 6px 1px rgba(0, 0, 0, 0.14)',
width:'230px',
}).appendTo(that.parent());
if(opts){
opts.mode = 'datepicker';
cal.dcalendar(opts);
}
else
cal.dcalendar({mode: 'datepicker'});
cal.hover(function(){
hovered = true;
}, function(){
hovered = false;
}).on('click', function(){
// SCRIPT MOD - skip radio buttons
if(!selectedDate)
that.focus();
else {
selectedDate = false;
$(this).hide();
}
}).on('selectdate', function(e){
that.val(e.date).trigger('onchange');
that.trigger($.Event('dateselected',{date: e.date, elem: that}));
selectedDate = true;
});
that.on('keydown', function(e){ if(e.which) return false; })
.on('focus', function(){
$('.datepicker').find('.calendar').not(cal).hide();
cal.show();
})
.on('blur', function(){ if(!hovered) cal.hide(); });
});
}
$.fn.dcalendarpicker=函数(opts){
返回$(this).each(函数(){
var,该值=$(此值);
var cal=$(''),悬停=false,selectedDate=false;
那.包装($('');
cal.css({
位置:'绝对',
左:0,显示:“无”,
“长方体阴影”:“0 4px 6px 1px rgba(0,0,0,0.14)”,
宽度:'230px',
}).appendTo(that.parent());
如果(选择){
opts.mode='datepicker';
cal.dcalendar(opts);
}
其他的
dcalendar({mode:'datepicker'});
计算悬停(函数(){
悬停=正确;
},函数(){
悬停=错误;
}).on('单击',函数()){
//脚本修改-跳过单选按钮
如果(!selectedDate)
那就是焦点();
否则{
selectedDate=false;
$(this.hide();
}
}).on('selectdate',函数(e){
即.val(e.date).trigger('onchange');
trigger($.Event('dateselected',{date:e.date,elem:that}));
selectedDate=true;
});
on('keydown',函数(e){if(e.which)返回false;})
.on('focus',function(){
$('.datepicker').find('.calendar').not(cal.hide();
cal.show();
})
.on('blur',function(){if(!hovered)cal.hide();});
});
}
以下是php/html:
echo "<fieldset>";
echo "<h5>Select Your Delivery Date: </h5>";
echo "<label class=\"error_label\">".$error_juice_delivery."</label>";
echo "<label>Select weekly or monthly deliveries: <label><br>";
$type_1 = $type_2 = '';
if($delivery_type === '1') $type_1 = 'checked';
else $type_2 = 'checked';
echo "Weekly <input type=\"radio\" name=\"delivery_date_type\" value=\"1\" $type_1 /><br>";
echo "Monthly <input type=\"radio\" name=\"delivery_date_type\" value=\"2\" $type_2 /><br>";
echo "<br><label>Type in delivery start date(has to be atleast one week from today)</label>";
echo "(mm/dd/yyyy) <input id =\"calendar-demo\" type=\"text\" name=\"delivery_start_date\" value=\"".$delivery_date."\"/><br>";
echo "</fieldset>";
echo”“;
echo“选择您的交货日期:”;
echo“$error\u juice\u delivery.”;
echo“选择每周或每月交货:
”;
$type_1=$type_2='';
如果($delivery_type=='1')$type_1='checked';
else$type_2=‘已选中’;
回声“每周
”;
回声“每月
”;
echo“
键入交货开始日期(必须至少从今天起一周)”;
回音“(mm/dd/yyyy)
”;
回声“;
出于某种原因,每次我单击上面字段集中的日期输入字段,并从jquery datepicker下拉列表中选择一个日期时,每周/每月单选按钮选择都会重置,我不知道为什么…我发现了…我没有关闭标签标签:
echo "<label>Select weekly or monthly deliveries: <label><br>";
echo“选择每周或每月交货:
”;
应该是:
echo "<label>Select weekly or monthly deliveries: </label><br>";
echo“选择每周或每月交货:
”;
很难知道这里发生了什么。显示问题的JSFIDLE会有所帮助!nvm..我想出来了…我已经正确关闭了标签标签:echo“选择每周或每月交货:”;