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

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

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

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

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

这是我的代码:

 $(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); }); });  

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()); }); 
 $('.dropone').change(function() { var val = $(this).val(); // OR var val = this.value; }) 

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

 alert($(this).val()) 

向你的val添加圆括号: alert($(this).val())

您还可以从下拉列表中获取自定义属性,如下所示;

  $('.someclass').change (function () { var val = this.value; alert(val); //selected value var element = $(this).find('option:selected'); // assign selected element var myTag = element.attr("aTag"); // get attribute by name alert(myTag); });