我有以下代码,在选择日期时填写所有日期选择器文本框。
所以可能有5个日期选择器。目前,如果用户在任何日期选择器中选择日期,则所有日期选择器将填充所选日期(因此所有5个日期选择器将具有相同的日期)
//populate all the dates based on selected date
$(".txtdatepicker").datepicker({
onSelect: function (dateText, inst) {
$(".txtdatepicker").val(dateText);
}
});
但是,我想更改代码,以便所选日期仅插入到空日期选择器中,即日期选择器尚未包含值。
我会使用.each吗?
编辑:出于某种原因,我的所有日历都是自动扩展的,我已将代码更改为此,有没有办法修改以下代码,因为它看起来像上面那样做?$(".txtdatepicker").on("change", function(){
$(".txtdatepicker").val($(this).val());
});
编辑2:
这是最后使用的解决方案:
$(".txtdatepicker").on("change", function(){
var date = $(this).val();
$(".txtdatepicker").each(function(){
if(!$(this).val()){
$(this).val(date);
}
});
});
答案 0 :(得分:2)
$(".txtdatepicker").datepicker({
onSelect: function (dateText, inst) {
$('.txtdatepicker').each(function(i,current){
if(!$(current).val()){ //empty string evaluates to false
$(current).val(dateText);
}
});
}
});
答案 1 :(得分:2)
你很亲密。
$(".txtdatepicker").datepicker({
onSelect: function (dateText, inst) {
$(".txtdatepicker").each(function(){ // each - you were right!
if( !$.trim( $(this).val() ).length )
// check if the trimmed value is not 0
$(this).val(dateText);
});
}
});
小提琴