0

我在我的网站中使用了 a jquery datepicker plugin。我已经编写了这样的日历,仅在单击时才显示a tag日历。需要的是,一旦我单击日历中的日期,我需要获取datepicker. 因此,我编写了以下脚本。我无法获得名为self_calender我的第四个父级的div 。undefined当我尝试使用. ..Jquerydivdatepicker

<a href="" title="calendar" class="calendar">calendar</a>
    <div id="self_calender">
        // Jquery date Picker
    </div>

Javascript:

$('.ui-datepicker-calendar .ui-state-default').live('click',function(){
        alert($(this).parents().eq(4).html());
})
4

4 回答 4

1

尝试:

$(document).live('click','.ui-datepicker-calendar .ui-state-default',function(){
        alert($(this).parents('#self_calender').html());
})

如果你的 jquery 是新的:

$(document).on('click','.ui-datepicker-calendar .ui-state-default',function(){
        alert($(this).parents('#self_calender').html());
})

还有一个想法。你self_calender是公正的和身份的,所以它应该是独一无二的。然后:

$(document).on('click','.ui-datepicker-calendar .ui-state-default',function(){
            alert($('#self_calender').html());
    })
于 2013-06-07T09:26:50.583 回答
1

我想你需要的是

$(this).closest('.ui-datepicker') // which ever selector applies to the desired element
于 2013-06-07T09:24:27.287 回答
1

实现您想要做的事情不需要您的 DOM 遍历。

如果文件中的 HTML 代码如下所示:

<a href="" title="calendar" class="calendar">calendar</a>
  <div id="self_calender" class='targetParent'>
    <input id='dateHolder' />
</div>

在 JS 中,您可以使用onSelectdatepicker 事件:

$('#dateHolder').datepicker({
  onSelect: function() {
   var div = $(this).parent();
   //div is #self_calender
  }
});
于 2013-06-07T09:42:29.687 回答
1

因为元素有一个 id 这意味着你可以专门为那个东西使用一个选择器:

var container = $("#self_calendar");

如果您有多个这些东西,那么您不应该应用相同的 id,也不会有可能选择错误元素的问题。

于 2013-06-07T09:29:15.223 回答