簡體   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