MultiDatesPicker Days Count

时间:2014-12-02 07:03:49

标签: jquery datepicker

我有这个工作:

<ul class="calendar">
            <li class="demo full-row">
                <div id="full-year" class="box"></div>
                    <div>
                        <div style="float:left">

        <?php       
           echo "<script type='text/javascript'>
                var today = new Date();
                var y = today.getFullYear();
                $('#full-year').multiDatesPicker({
                // addDates: ['10/14/'+y, '02/19/'+y, '01/14/'+y, '11/16/'+y],
                //  numberOfMonths: [1,3],
                minDate:0,
                altField: '#input-option".$option['product_option_id']."',
                //  defaultDate: '1/1/'+y
                });
            </script>";
        ?>
            <script type='text/javascript'>
               function getSelectedDays(){
                     $('#input-quantity').val($("#full-year").get(0).multiDatesPicker.dates.picked.length+1);
                    }
                    $('.ui-state-default').click(function(){
                        window.alert('test');
                        getSelectedDays();
                    });
            </script>

        </div>
    <div style="float:right">
    <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
          <label class="control-label" for="input-option<?php echo $option['product_option_id']; ?>"><?php echo $option['name']; ?></label>
          <div class="input-group date">
            <textarea cols="11" rows="12" type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['value']; ?>" data-date-format="YYYY-MM-DD"  id="input-option<?php echo $option['product_option_id']; ?>" class="form-control"/></textarea>
            </div>
        </div>
                        </div>
                    </div>
                    <div style="clear:both"></div>
          <label class="control-label" for="input-quantity"><?php echo $entry_qty; ?></label>
          <input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" />                        
                </li>

            </ul>

这基本上有效 - 它给我结果并更新输入表单的天数但只有一次。因此,第一次点击日历日可以工作并更新输入表单。如果我选择更多天,则该功能不会再次触发

如果我放置#full-year - 该功能有效,但仅当我点击日历框而不是日期本身时。

对不起代码中的混乱......通常不这样做。

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式获得所选日期: -

<强> $("#full-year").get(0).multiDatesPicker.dates.picked.length

将此功能添加到您的代码中:

function getSelectedDays(){
    $('input#id').val($("#full-year").get(0).multiDatesPicker.dates.picked.length);
}

$('#full-year').multiDatesPicker({
    ...
    onSelect: function() {
            getSelectedDays();
    }
    ...
});