0

我有选择框

<select id='selectboxID'>
  <option value="">select id</option>
  <option value="Actor">Actor</option>
  <option value="Child artist">Child artist</option>
  <option value="">Musician</option>
</select>

我的jQuery代码

$(function() {
   var option = 80;
   $("#selectboxID").change(function() { 
       option = 17;

  });
alert(option);
})

我的要求是当我选择任何选项时,选项变量值应该是 17 。请告诉我该怎么做。

4

5 回答 5

1

将全局变量移出函数

var option = 80;
$(function() {   
   $("#selectboxID").change(function() { 
       option = 17;
       alert(option);
  });    
})
于 2013-09-04T12:42:15.957 回答
0

$(function() { })声明说您正在编写document.ready事件的处理程序。因此,在此块内声明的所有变量将仅在此块内可见。您只需要将变量声明移出块:

var option;
$(function() {
   option = 80;
   $("#selectboxID").change(function() { 
       option = 17;

   });
   alert(option);
})
于 2013-09-04T12:43:51.190 回答
0

在更改事件中放置警报:

$(function() {
   var option = 80;
   $("#selectboxID").change(function() { 
     option = 17;
  }).change();  //<---------change like this
  alert(option);
});

在此处查看此操作

于 2013-09-04T12:43:57.913 回答
0

在函数外和脚本标签内声明它

<script type="text/javascript" language="javascript">
     var option=80;//Global Declaration
     $(function() {
        $("#selectboxID").change(function() { 
            option = 17;
         });
         alert(option);
     });
</script>

下次当你调用该函数时,你将获得分配给option变量的先前值

于 2013-09-04T12:43:59.857 回答
0

您的警报范围和option值检查不正确,请尝试如下:

$(function () {

    // Check option value on load
    var option = 80;
    alert(option);

    $("#selectboxID").change(function () {
        option = 17;
        // check the option on dropdown onchange event
        alert(option);
    });
});

小提琴演示

于 2013-09-04T12:44:18.653 回答