我有这个工作:
<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 - 该功能有效,但仅当我点击日历框而不是日期本身时。
对不起代码中的混乱......通常不这样做。
答案 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();
}
...
});