jQuery - 在其他地方使用javascript变量

时间:2010-12-15 20:37:07

标签: javascript jquery declaration

我担心这个问题可能会非常新手,但我只是画了一个空白。

$(document).ready函数中我有一些DatePicker代码......

$('#date-view1').datePicker({
    selectWeek: true,
    inline: true,
    startDate: '01/01/1996'
}).bind('dateSelected', function (e, selectedDate, $td) {
    $('#date1').val(selectedDate.asString());
    var pfb = selectedDate.asString();
});

我正在努力的部分是var pfb = selectedDate.asString();

我希望在名为pfb的其他函数中使用变量showProjects()进一步向下。

我该怎么做?我试过在$(document).ready函数内部和外部声明变量而没有运气。

由于

4 个答案:

答案 0 :(得分:1)

在文档就绪块之前声明var pfb。这将使它在页面的其他地方可用。在准备好的文档中,您将设置已经DECLARED变量。

答案 1 :(得分:0)

在Javascript中,您可以使用全局变量来存储可从页面中的任何位置访问的值。这样做的方法很多 使用window.pfb = selectedDate.asString();设置值 然后在window.pfb

的任何地方访问它

答案 2 :(得分:0)

我不确定这是否是一个问题区域,但我不会尝试将pfb作为onclick事件中的参数传递 - 我认为这可能会重新初始化pfb,或者创建一个新的var。

如果你在全球范围内创建它(不理想但应该有效),那么你无需将pfb作为参数传递。

此外,最好不要在这些元素上附加事件。理想情况下 - 和jQuery使这很容易 - 你应该在你的$(文档)中有一些东西。就像这样:

$(document).ready(function() {
    $("#myButton").click(function() {
        showProjects();
    });
});

甚至将此缩短为

$(document).ready(function() {
    $("#myButton").click(showProjects());
});

如果您知道showProjects()是您想要进行的唯一调用。

答案 3 :(得分:-1)

如果你只是删掉var

这个词就行了

声明没有var的变量会使它们成为全局变量。

如Dan Ray建议的那样,在准备好的块之前声明它可能是更好的形式,但是你说你很难用这个?不知道为什么会这样。