我一直在尝试在我的网站上添加日期选择器,允许用户选择多个非并发日期. Multidatespicker似乎做了我想要的但是我已经到了一个点,我认为我发现了一个bug,特别是它的AltField,这是确认here.该bug似乎停止了altfield的值显示.如果您访问Multidatespicker demo并检查altfield,您会看到当它显示为空时,代码中会显示值.
这给我带来的问题是,从App / DB返回记录时,我无法编辑以前选择的日期.将altfield的值传递回我的Rails应用程序以进行数据库存储时,我只收到代码中显示的隐藏值.
如果我可以让altfield正确显示这些值并允许我通过日期选择器编辑它们,那么我应该在我的应用程序的后端进行修改.
注意上面github链接上的建议修复不能解决这个问题 – 它只能使’dateVar’中的日期在选择器中被选中….它不会在altField中显示值.
有没有人用过这个并遇到同样的问题并解决了它?
有谁知道如何修理它?
要么
任何人都可以建议一个很好的替代方案,使用Twitter Bootstrap与Rails 3应用程序很好地协作.我能够选择多个非并发日期非常重要.我搜索得非常广泛,但MultiDatesPicker似乎是我能找到的唯一选项之一.
最佳答案
问题是Multidatespicker没有监听#altField所以我们需要创建自己的监听器来添加/删除日期.
原文链接:https://www.f2er.com/jquery/428229.html我们的想法是为隐藏或只读输入添加值,并由另一个添加/删除日期.这可以防止客户在#altField中添加日期并让它们被插件覆盖.
HTML
JAVASCRIPT
使用javascript,我们只需使用按钮添加日期(可以在keyup或任何你想象中可以想象的:)
var dates = $('#altField').val().split(',');
$('#datepicker').multiDatesPicker({
dateFormat: "yy-mm-dd",addDates: dates,altField: '#altField'
});
$('#addDate,#removeDate').on('click',function() {
try {
var $date = $('#date');
var addOrRem = $(this).attr('id') === "addDate" ? 'addDates' : 'removeDates';
$('#datepicker').multiDatesPicker(addOrRem,$date.val());
$date.val('');
} catch (e) {
var $error = $('#error');
$error.html(e).slideDown();
setTimeout(function() {
$error.slideUp();
},2000);
}
});