JQuery检查文本框是否为空

时间:2014-09-17 13:43:34

标签: jquery jquery-ui

我有以下代码,在选择日期时填写所有日期选择器文本框。

所以可能有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); 

} 
}); 

});

2 个答案:

答案 0 :(得分:2)

$(".txtdatepicker").datepicker({
    onSelect: function (dateText, inst) {
            $('.txtdatepicker').each(function(i,current){
                  if(!$(current).val()){ //empty string evaluates to false
                      $(current).val(dateText);
                }
            });               
    }

});

http://jsfiddle.net/dnjrvdaq/3/

答案 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);
        });
    }
});

小提琴

http://jsfiddle.net/8249zoxr/