我正在开展一个项目并需要一些帮助。我想做这样的事情 所有复选框都具有相同的类,并且它们的数据是从数据库中提取的。 如果我选中复选框1,则复选框2应该被禁用,因为复选框2的日期位于复选框1的日期持续时间中。当选中复选框2时,由于日期,checbox1和复选框3应该被禁用。这将在大量复选框中发生。
这是复选框1(2015-03-02至2015-03-09)
这是复选框2(2015-03-05至2015-03-15)
这是复选框3(2015-03-13至2015-03-19)
答案 0 :(得分:0)
我希望这会给你一个开始的想法
$('.chkboxClass').on('click',function()
{
if($(this).hasClass('active'))
{
$(this).siblings().attr("disabled", false);
$(this).removeClass('active');
return;
}
$(this).addClass('active');
var elem = $(this).val(); // Fetching the selected checkbox value
var selectedDateSplit = elem.split('to');
var selectedEndDate = new Date(selectedDateSplit[1].trim());
var allOthorCheckBox = $(this).siblings(); //Find all other checkboxes
$(allOthorCheckBox).each(function(){ // Looping through the chckboxes
var chkBoxValue = $(this).val();
var chkBoxValueSplit = chkBoxValue.split('to');
var otherCheckBoxStartDate = new Date(chkBoxValueSplit[0].trim());
if(selectedEndDate > otherCheckBoxStartDate) // Checking selected checkbox endDate > other chckbox start date
{
$(this).attr("disabled", true);
}
});
添加了更新的js小提琴链接。 http://jsfiddle.net/LMKLMK/47m2ehvf/3/