如何在事件处理程序之外使用变量?

时间:2017-02-10 14:11:01

标签: jquery

我在html页面中选择id为“select”的部分,我创建了一个JQuery代码,例如:

$(document).ready(function () {
    $(document).on("change", function () {
        var text = $("#select").val();
    });
    allert(text);
});

但是这段代码不起作用。如何将“文本”称为“功能”?

编辑(HTML代码):

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="jquery.min.js"></script>
        <script type="text/javascript" src="myjquerycode.js"></script>
        <title>Untitled Document</title>
    </head>
    <body>
        <select id="select">
           <option value="1">1</option>
           <option value="2">2</option>
           <option value="3">3</option>
           <option value="4">4</option>
           <option value="5">5</option>
        </select>
    </body>
</html>

3 个答案:

答案 0 :(得分:1)

也许id是错的。检查你的身份。

同时结帐https://api.jquery.com/change/

例如:

&#13;
&#13;
$(document).ready(function() {
  $("input").change(function() {
    var text = $("#select").val();
    alert(text);
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="select">
&#13;
&#13;
&#13;

修改

&#13;
&#13;
$("select").change(function() {
  var str = "";
  $("select option:selected").each(function() {
    str += $(this).text() + " ";
  });
  $("div").text(str);
}).change();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="sweets" multiple="multiple">
  <option>Chocolate</option>
  <option selected="selected">Candy</option>
  <option>Taffy</option>
  <option selected="selected">Caramel</option>
  <option>Fudge</option>
  <option>Cookie</option>
</select>
<div></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

只需制作一个功能,并在需要时调用它。

$(document).ready(function() {

  function getSelect() {
    return $("#select").val();
  }

  $("#select").change(function() {
    alert(getSelect()); // This will alert you anytime you change it
  });

  var selectValue = getSelect(); // You can get its value outside wherever else you need it

});

答案 2 :(得分:0)

目前尚不清楚何时使用值

以下是选择更改时如何提醒选择的值

$(function() {
    $("#select").on("change", function() {
      var text = $(this).val();
      alert(text);
    });
});

在DOM中存在select之后的其他地方:

alert($("#select").val());

$("#select").change(); // trigger the already existing handler