我担心这个问题可能会非常新手,但我只是画了一个空白。
在$(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
函数内部和外部声明变量而没有运气。
由于
答案 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建议的那样,在准备好的块之前声明它可能是更好的形式,但是你说你很难用这个?不知道为什么会这样。