【问题标题】:jquery datepicker elements not responding to any DOM-modifying jsjquery datepicker 元素不响应任何修改 DOM 的 js
【发布时间】:2018-01-08 23:46:42
【问题描述】:

我正在尝试在 jquery ui datepicker 中获取日期单元格,以便在单击它们时突出显示我想要的颜色,但无论我做什么,元素似乎都没有改变。

<style>
  .mydatepicker-selected {
    background-color: red!important;
  }
</style>
<script>
  var selecteddates = [];

  function highlight() {
    $.each($('td'), function() {
      console.log($(this).html());
      $(this).remove();

    });
  });
  }
  $(document).ready(function() {
    $('#mydatepicker').datepicker({
      onSelect: function(datetext, obj) {
        var dateindex = $.inArray(datetext, selecteddates);
        if (dateindex == -1)
          selecteddates.push(datetext);
        else
          selecteddates.splice(dateindex, 1);
        highlight();
      }
    });
  });
</script>
<div id='mydatepicker'></div>
<table>
  <tr>
    <td>test</td>
  </tr>
</table>

页面底部带有“test”文本的 td 被删除,但日期选择器中的 td 都没有。 console.log 显示我确实选择了日期选择器中的所有 td,但删除功能无效。我也尝试过不那么激烈的方法,比如添加/删除类,但没有一个效果。有任何想法吗?最终我只想在某些 tds 上添加和删除类以突出显示日期单元格。

【问题讨论】:

  • 只使用委托事件监听器
  • 我试过使用点击监听器,但它没有触发。我认为 jquery ui 会捕获事件并阻止任何其他事件侦听器触发。我认为加入了 onselect 功能就是为了达到这个目的
  • 您是否针对每个&lt;td&gt; 中的&lt;a&gt;

标签: javascript jquery css datepicker


【解决方案1】:

我认为您只需要以下样式:

.ui-datepicker-calendar .ui-state-active {
   background-color: red!important;
 }

【讨论】:

  • 这个问题是我希望能够突出显示多天
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-15
  • 1970-01-01
相关资源
最近更新 更多