2017-07-25 77 views
0

我想从我的jquery datepicker实例中彻底删除当前的高亮类。我正在使用datepicker inline作为div,所以我在使用.find和.remove类时找到的所有规定方法都无法正常工作。我已经尝试删除.ui-state-highlight的所有CSS条目,但没有任何改进。我的基本代码jsfiddle,我建议在一个新标签中打开它,使它更容易回到这个问题。这里是代码检查的屏幕截图,显示我需要删除的课程。jquery datepicker删除当天的高亮类

代码:

<head><script> 
$(function() { 
var selections = ["2017-07-29"] 
function bansingle(date) { 
     var excerpt = jQuery.datepicker.formatDate('yy-mm-dd', date); 
     return [ selections.indexOf(excerpt) == -1 ] 
    } 
// somehow combine this function later. 
//function bandow(date) { 
//    var day = date.getDay(); 
//   return [(day != 0 && day != 6)]; 
//  } 


$('#dp1').datepicker({ 
    beforeShowDay: bansingle, 
    altField:'#alternate1', 
     altFormat: 'm-d-yy', 
     fielddateFormat: 'm-d-yy', 
    minDate: "+0d", 
    //maxDate: "+1m", // set latest selectable date 
}); 
$('#dp1').datepicker("setDate", null); //clears alternate1 input field value 
});</script> 
</head> 
<body> 
<div id="dp1"></div> 
</body> 

编辑亮点,看起来就像其他可用的日期是没有好处的点击当前日期,那么当,你不能告诉它已。这就是为什么我需要,而不是弄清楚如何删除高亮类完全在我的div使用datepicker。

我的问题与this other question不同,因为:虽然与其他帖子有一些共同之处,但我试图达到不同的最终结果,并且该帖子的建议是将CSS设计为模仿其他单元格,因为我在这一段的上面一段中说,这不适合我需要的东西。

编辑:

使用that other question作为参考,我能够重新安排并改变一些其他的CSS样式,所以现在所有的可用日期看起来相同,但最终的结果是不完整的。这使我依靠离开altfield可见,向用户显示点击选择。如果有办法让这种风格在文件头:

.ui-state-active {background: #F00;} 

改为:

.ui-state-active {background: #F00 !important;} 

当日期选择器内嵌日历GUI首先点击任何可用的日期,然后颜色响应将匹配用户的行为以及将传递给PHP的数据。

+0

希望你有这个工作得好。 –

+0

[jQuery UI Datepicker:当它也被选中时,今天不突出显示]的可能重复(https://stackoverflow.com/questions/731018/jquery-ui-datepicker-dont-highlight-today-when-it-is - 也被选中) –

+0

@RahulGupta与那篇文章有一些共同之处,但我试图达到一个不同的最终结果,并且对这篇文章的建议是CSS来模仿其他单元格,正如我上面所说的那样不适合我需要的东西。谢谢你的快速反应。 – johnwayne

回答

0

您可以使用它的属性是这样的:

$('#dp1').datepicker({ 
    beforeShowDay: bansingle, 
    todayHighlight: false,// make this parameter to false. It will not highlight then. 
    altField:'#alternate1', 
     altFormat: 'm-d-yy', 
     fielddateFormat: 'm-d-yy', 
    minDate: "+0d", 
    //maxDate: "+1m", // set latest selectable date 
}); 
+0

todayHighlight:false,在将datepicker作为div或输入(其中GUI将是弹出窗口)时不起作用。感谢您的快速回复。 – johnwayne

+0

您的欢迎@johnwayne。对不起,它并没有帮助你。:-( –

+0

在我所有的挖掘中,一直在这个项目一段时间,我发现没有参考今天highlight选项。我使用jqueryui.com最新的核心jquery datepicker,你是否使用另一个出版商的一些变种?如果他们有这个选项,它会很喜欢它 – johnwayne

0

的最好方法是编辑CSS源。例如:

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { 
    border: 1px solid #fad42e; 
    background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; 
    color: #363636; 
} 

...现在你可以添加一个风格,像其他细胞!

+0

根据我的最后一段:“编辑突出显示看起来就像其他可用日期是不好的,因为当点击当前日期时,你不能告诉它已经是这样,这就是为什么我需要反而弄清楚如何在我的div中使用datepicker完全删除高亮类。“我使用持久显示的div中的datepicker,而不是从弹出的输入字段中日历GUI。模仿其他单元格的CSS会使突出显示的单元格看起来不能点击。感谢您及时的回复。 – johnwayne

0

您可以覆盖css,如下所示。

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default 
{ 
    border: 1px solid #c5dbec; 
    background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; 
    color: #2e6e9e; 
} 
+0

看到我的回复carnaru valentin与他的类似建议,然后我的问题的最后一段。谢谢你的快速反应。 – johnwayne