你好再次:)我有以下代码:
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$(function () {
$('body').on('click', 'a.myclass', function () {
sndcmpnm = $(this).attr("value");
alert("From Small Function :" + sndcmpnm);
});
});
});
</script>
在底部的页面中,我有一个简单的javascript行var deares = sndcmpnm;
。有趣的是,无论我做什么,deares
永远不会获得sndcmpnm
的价值。我尝试了SO的另一个解决方案,它说我不能把var
置于变量的前面,但这也无济于事。警报alert("From Small Function :" + sndcmpnm);
给出了正确的结果。 java错误代码东西说
ReferenceError:未定义sndcmpnm
我想要的只是deares
可以获得sndcmpnm
的值。我不知道自己做错了什么,请帮助我:(
[编辑] 其他代码:
<script>
function discomp()
{
alert("hello1");
var deares = sndcmpnm;
alert("hello2");
alert("This is suppose to hold the sndcmpnm data :" +deares);
}
</script>
答案 0 :(得分:2)
只需在sndcmpnm
标记的全局范围内定义script
即可。 (而且您只需准备一份文档,$(function() { ... }
是$(document).ready(function() { ... }
的简写。)
<script type="text/javascript" language="javascript">
var sndcmpnm = '';
$(function() {
$('body').on('click', 'a.myclass', function() {
sndcmpnm = $(this).attr("value") ;
alert("From Small Function :" + sndcmpnm);
});
});
</script>
<script>
function discomp() {
var deares = sndcmpnm;
alert("This is suppose to hold the sndcmpnm data: " + deares);
}
</script>
答案 1 :(得分:0)
您可以在事件处理程序中调用discomp
函数:
<script type="text/javascript" language="javascript">
function discomp(message)
{
alert("This is suppose to hold the sndcmpnm data :" + message);
}
$(function () {
$('body').on('click', 'a.myclass', function () {
var sndcmpnm = $(this).attr("value");
discomp(sndcmpnm);
});
});
});
</script>