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

时间:2012-08-16 15:50:59

标签: 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>

6 个答案:

答案 0 :(得分:15)

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

答案 1 :(得分:10)

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

  // OR

  var val = this.value;
})

答案 2 :(得分:4)

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

alert($(this).val())

答案 3 :(得分:1)

在您的val中添加圆括号:alert($(this).val())

答案 4 :(得分:0)

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

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


<option name='somename' id='someid' aTag='123' value='XYZ'>XYZ</option>

答案 5 :(得分:0)

检查 jQuery JavaScript 方法here,以在下拉菜单中获取单个/多个选定值

演示Link

jQuery方法: 从选择框中获取选定值的方法:

HTML

<select id="singleSelectValueDDjQuery" class="form-control">
    <option value="0">Select Value 0</option>
    <option value="8">Option value 8</option>
    <option value="5">Option value 5</option>
    <option value="4">Option value 4</option>
</select>

<input type="text" id="textFieldValueJQ" class="form-control"
    placeholder="get value on option select">

jQuery

$("#singleSelectValueDDjQuery").on("change",function(){
    //Getting Value
    var selValue = $("#singleSelectValueDDjQuery").val();
    //Setting Value
    $("#textFieldValueJQ").val(selValue);
});

从选择框中获取选定值选项文本的方法:

HTML

选择值0 期权价值8 期权价值5 选项值4

<input type="text" id="textFieldTextJQ" class="form-control"
                placeholder="get value on option select">

jQuery

$("#singleSelectTextDDjQuery").on("change",function(){
    //Getting Value
    var selValue = $("#singleSelectTextDDjQuery :selected").text();
    //Setting Value
    $("#textFieldTextJQ").val(selValue);
});