我如何定义变量在JQuery和javascript之间传递数据

How do I define variables to pass data between JQuery and javascript?

本文关键字:javascript JQuery 之间 数据 变量 何定义 定义      更新时间:2023-09-26

你好:)我有以下代码:

<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 is not defined

我想要的是deares可以得到sndcmpnm的值。我不知道我做错了什么,请帮助我:

[EDIT]其他代码:

<script>
function discomp()
{
  alert("hello1");
  var deares = sndcmpnm;
  alert("hello2");
  alert("This is suppose to hold the sndcmpnm data :" +deares);
}
</script>

script标记的全局作用域中定义sndcmpnm。(并且您只需要准备一份文档,$(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>

您可以在事件处理程序中调用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>