在jquery中的插件中获取此ID

时间:2014-07-09 02:34:17

标签: jquery plugins this

我有一些我一直试图解决的问题。

我以此为例。 pickadate.js日期选择器。 我加载了插件,然后用一类datepicker将它绑定到我的所有输入。

因为我用一类datepicker绑定了所有输入。

我想知道如何在可以触发的事件中使用此范围?

假设我点击date1并将其绑定到jquery插件,是否可以使用此关键字通过插件中的事件提取id?我知道所有的插件都可以不同,但​​是我希望每次使用插件时都能通过简单的方法将id作为泛型函数的一部分。

有一个简单的方法吗? 因为这总是返回undefined

$('input.datepicker').pickadate({
    clear : 'Clear',
    format : 'dd/mm/yyyy',
    clear: 'Clear selection',
    labelMonthNext: 'Go to the next month',
    labelMonthPrev: 'Go to the previous month',
    labelMonthSelect: 'Pick a month from the dropdown',
    labelYearSelect: 'Pick a year from the dropdown',
    editable : false,
    disable: [
        true,
        6  
    ],
    onOpen : function(){console.log($(this).attr('id'));}
});

1 个答案:

答案 0 :(得分:2)

根据Pickadate的文档,在可用事件范围内this的上下文是实际的&#34;选择器&#34;对象而不是Pickadate绑定的HTML <input>http://amsul.ca/pickadate.js/date/#events

因此,您希望使用他们的API - 特别是.get('id')方法来返回触发/绑定元素的ID: http://amsul.ca/pickadate.js/api/#method-get-id

示例:

onOpen : function(){ 
    alert('The ID of the input you clicked is: "' + this.get('id') + '"');
}

jsFiddle:http://jsfiddle.net/LM2xb/10/