Javascript 将JQuery函数移动到函数内部,然后从多个函数访问它

Javascript 将JQuery函数移动到函数内部,然后从多个函数访问它,javascript,jquery,html,function,Javascript,Jquery,Html,Function,嗨,我在各种搜索引擎的搜索结果中搜索了一遍,没有找到任何正确的方向,希望这里有人能帮助我 我是一个关注Javascript/JQuery的noob,所以请放轻松 问题:我目前正在通过单击文本框调用JQuery DatePicker函数,这非常有效。你点击文本框,选择一个日期,它会把它放到文本框中。大扁虱 但是我也需要通过点击图像来调用相同的函数。我想我应该通过调用.click函数来实现这一点 $("endDateImage").click(datePickerFunc); 这将调用原始JQue

嗨,我在各种搜索引擎的搜索结果中搜索了一遍,没有找到任何正确的方向,希望这里有人能帮助我

我是一个关注Javascript/JQuery的noob,所以请放轻松

问题:我目前正在通过单击文本框调用JQuery DatePicker函数,这非常有效。你点击文本框,选择一个日期,它会把它放到文本框中。大扁虱

但是我也需要通过点击图像来调用相同的函数。我想我应该通过调用.click函数来实现这一点

$("endDateImage").click(datePickerFunc);
这将调用原始JQuery

$("#endDatepicker").datepicker({ // options set here });
我尝试将其重新编写为一个新函数

function datePickerFunc() {
        $().datepicker({
            // options set here
        })
    };
但这就是问题所在,我似乎无法找到/解决如何编写新函数,以便可以从任意数量的$ID控件调用它

我们将非常感谢您的帮助

-更新-回复以下答案:

以下工作:

<asp:TextBox ID="endDatepicker" runat="server" Text="10/10/2013" Width="65px"></asp:TextBox>
但是相同的asp:TextBox ID。。。。单击不适用于以下情况:

$("#endDatePicker").click(datePickerFunc);

function datePickerFunc() {
        $(this).datepicker({
            dateFormat: 'dd/mm/yy',
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 2,
            onClose: function (selectedDate) {
                $("#startDatepicker").datepicker("option", "maxDate", selectedDate);
            }
        })
    };
注意,我已经返回到我的工作文本框,单击第一个,然后在之后尝试使用图像

我的Jquery版本可以吗?我错过什么了吗?谢谢

编码采用HTML5/C/css/JQuery版本1.9.1.js和ui版本 1.10.3

干杯

Trev.

您可以简单地使用它,因为它将引用单击的元素:

$("#endDateImage").click(datePickerFunc);
$("#foo").click(datePickerFunc);

function datePickerFunc() {
    $(this).datepicker({
        // options set here
    })
};
这将导致endDateImage和foo元素在其上创建自己的datepicker实例。

您可以简单地使用它,因为它将引用单击的元素:

$("#endDateImage").click(datePickerFunc);
$("#foo").click(datePickerFunc);

function datePickerFunc() {
    $(this).datepicker({
        // options set here
    })
};


这将导致endDateImage和foo元素都有自己创建的datepicker实例。

datepicker绑定到图像?真的吗?@charlietfl肯定。您可以使用任何元素作为datepicker控件的触发器。你只需要处理选择事件,并用值做你需要做的事。我知道你可以用altField做你想做的事。我想起来了,我以前用过一个ona Div…我的错。我得到的印象是OP想要打开现有的一个…范围不是100%clear@charlieftl没问题。你好,谢谢你们的链接和评论。我确实试过$this,但从我的原始帖子中删除了它,因为它不适合我。我还尝试了按链接显示的方法,但也不起作用。绑定到图像的datepicker?真的吗?@charlietfl肯定。您可以使用任何元素作为datepicker控件的触发器。你只需要处理选择事件,并用值做你需要做的事。我知道你可以用altField做你想做的事。我想起来了,我以前用过一个ona Div…我的错。我得到的印象是OP想要打开现有的一个…范围不是100%clear@charlieftl没问题。你好,谢谢你们的链接和评论。我确实试过$this,但从我的原始帖子中删除了它,因为它不适合我。我还根据链接尝试了show方法,但也不起作用。是否尝试从图像中打开现有的日期选择器。如果是这样,请使用Orignal selector deatpicker创建并显示方法回答您的问题,我想单击文本框输入或图像并显示日期选择器,然后将所选日期放入文本框。无论是文本框本身还是图像被单击,我都希望所选日期进入文本框。谢谢。在jsfiddle.netts中创建一个实时演示谢谢你的建议,我以后会尝试。我还不知道为什么我不能得到建议的工作,但我现在使图像的DIV背景,只是使文本框的onclick事件弹出日历。这很好用。谢谢大家。只是一个更新,由于asp.net服务器端代码重命名了文本框,我现在使用$.endDatepicker,并在文本框上设置一个名为endDatepicker的类,而不是使用ID。是否尝试从图像中打开现有的日期选择器。如果是这样,请使用Orignal selector deatpicker创建并显示方法回答您的问题,我想单击文本框输入或图像并显示日期选择器,然后将所选日期放入文本框。无论是文本框本身还是图像被单击,我都希望所选日期进入文本框。谢谢。在jsfiddle.netts中创建一个实时演示谢谢你的建议,我以后会尝试。我还不知道为什么我不能得到建议的工作,但我现在使图像的DIV背景,只是使文本框的onclick事件弹出日历。这很好用。谢谢大家。只是一个更新,由于asp.net服务器端代码重命名了文本框,我现在使用$.endDatepicker,并在文本框上设置一个名为endDatepicker的类,而不是使用ID。