javascript - 获取 id 开头

标签 javascript jquery datepicker

我在 div 中有一个带有类 pickergroup 的日期选择器,我的页面中有 3 个日期选择器,这就是我使用组和不同名称的原因

<div class="pickergroup">
     <input type="text" name="day1" id="day1"/> / 
     <input type="text" name="month1" id="month1"/> / 
     <input type="text" name="year1" id="year1"/>
     <input type="hidden" id="date1" name="date1"/>  
     <div id="datepicker1" name="calendar"></div>
</div>   

在我的 jquery 中,我想检测何时单击以“datepicker”开头的 id,我猜是这样的:

$(document).on('click', '.pickergroup id^="datepicker"', function() {
  $(".pickergroup").find('[id^="datepicker"]').datepicker({
      //my datepicker code
  });
});

但这不正确。

我该怎么做?

最佳答案

问题在于如何在事件处理程序中选择元素。

$(".pickergroup").find('[id^="datepicker"]')

表示“查找具有 pickergroup 类的所有元素。查找 ID 以 datepicker 开头的所有子元素。”相反,您想使用 this 并修复您的选择器

.pickergroup id^="datepicker"

.pickergroup [id^="datepicker"]

$(document).on('click', '.pickergroup [id^="datepicker"]', function() {
  var $this = $(this); // The div that was clicked
  console.log($this.text());
});
.pickergroup div {
  float: left;
  margin-right: 1em;
  width: 200px;
  height: 200px;
  background: #0F0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pickergroup">
  <div id="datepicker1">A</div>
</div>
<div class="pickergroup">
  <div id="datepicker2">B</div>
</div>
<div class="pickergroup">
  <div id="datepicker3">C</div>
</div>
<div class="pickergroup">
  <div id="can-t-click-me">D</div>
</div>

关于javascript - 获取 id 开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40725406/

相关文章:

javascript - 如何通过id获取 'this'元素并查看是否选中

javascript - 属性值 "title"是否可以获取父元素?

javascript - Bootstrap Datepicker - 月份和年份没有间距

javascript - 使用 jQuery 将 div 垂直滚动到所需位置

javascript - HTML5 视频嵌入在播放结束时返回到海报

javascript - Babylon.js 网格拾取和忽略一些网格

javascript - 从数组中获取最后单击项目的值

javascript - 如何使用 jquery 更改元素类型

javascript - 当 Ruby on Rails 中的 date_select 值更改时调用 javascript

javascript - 如何更改日期选择器中的语言?