繁体   English   中英

Jquery.val() function 不适用于全局 scope

[英]Jquery .val() function not working on global scope

我在 div 中有四个单选按钮,并希望将所选复选框的值存储到 jquery 变量中。 然而,代码在按钮 scope 内运行良好。 但是,如果我在全局范围(按钮范围之外)声明变量,则变量返回undefined这是运行良好的 jquery 代码

$(document).ready(function(){
  $('button').click(function(){
    var x=$('[name=user]:checked').val();
     alert(x);
  });
});

这是与之关联的 html 代码

<div class="first-section">
  <input type="radio" name="user" value="one">1</input>
  <input type="radio" name="user" value="two">2</input>
  <input type="radio" name="user" value="three">3</input>
  <input type="radio" name="user" value="four">4</input>
<button class="submit-one">Submit</button>
</div>

如何在全局 scope 中重用这个x变量。 在声明全局时,它返回未定义。 这是有问题的代码。

$(document).ready(function(){
var x=$('[name=user]:checked').val();
  $('button').click(function(){
     alert(x);
  });
});

//returns Undefined

您可以声明全局值x ,然后在 function 中更改它的值(在您的示例中为 in.click() 函数)

$(document).ready(function(){
var x
  $('button').click(function(){
     x=$('[name=user]:checked').val();
     alert(x);
  });
});

您在 function 中声明了一个变量,因此在 function 之外无法访问它。

如果您想在 function 之外的其他地方访问x ,您需要在 function 之外声明它,例如

var x;
$(document).ready(function(){
  $('button').click(function(){
     x = $('[name=user]:checked').val();
     alert(x);
  });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM