jQuery在更改时获得所选的下拉值

TMB*_*B87 8 javascript jquery

我正在尝试获取更改下拉列表的值(然后在第二个下拉列表中更改值).

编辑:感谢所有的回复,我已经更新添加()但代码没有返回任何内容,不是null或未定义只是一个空白的警报窗口

但是当我提醒它时,attr(值)是未定义的.

关于我缺少什么的任何想法?

这是我的代码:

<script type="text/javascript">
            $(document).ready(function() {

                var roomID = "0"
                $('.dropone').load('ajaxdropdown.aspx');
                $('.droptwo').load('ajaxdropdown.aspx?drpType=room&roomid=' + roomID);

                $('.dropone').change(function() {
                var ts = new Date().getTime();
                alert($(this).val)

                    $(".droptwo").empty();
                    $(".droptwo").load("ajaxdropdown.aspx?drpType=room&roomid=" + $(this).attr("value") + "&ts=" + ts);
                });

            });        
        </script>
Run Code Online (Sandbox Code Playgroud)

Shy*_*yju 17

val 是一种方法,而不是财产.

用它就像 val()

如果你在很多地方使用它,我会将它分配给一个局部变量并在此后使用它.

您还可以使用该$.now()功能获取唯一的时间戳.它等于DategetTime();

$('.dropone').change(function() {    
    var item=$(this);
    alert(item.val())
    $(".droptwo").empty();
    $(".droptwo").load("ajaxdropdown.aspx?drpType=room
                        &roomid=" +item.attr("value") + "&ts=" + $.now());
});
Run Code Online (Sandbox Code Playgroud)


the*_*dox 10

$('.dropone').change(function() {
  var val = $(this).val(); 

  // OR

  var val = this.value;
})
Run Code Online (Sandbox Code Playgroud)


jef*_*eff 5

您必须使用方法而不是属性来获取该值。用这个:

alert($(this).val())
Run Code Online (Sandbox Code Playgroud)