Jquery .val() 函数在全局范围内不起作用



我在div内有四个单选按钮,并希望将所选复选框的值存储到jquery变量中。但是,代码在按钮范围内工作正常。但是,如果我在全局作用域(按钮作用域之外(声明变量,则变量返回未定义这是工作正常的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>

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

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

您可以在函数中声明全局值x然后在函数中更改其值(在.click((函数中的示例(

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

您在函数内声明一个变量,因此在函数外部无法访问它。

如果你想在函数外部的其他地方访问x,你需要在函数外部声明它,例如

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

最新更新