11

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

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

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

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

这是我的代码:

<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>
4

6 回答 6

22

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());
});
于 2012-08-16T15:52:45.683 回答
11
$('.dropone').change(function() {
  var val = $(this).val(); 

  // OR

  var val = this.value;
})
于 2012-08-16T15:53:29.880 回答
4

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

alert($(this).val())
于 2012-08-16T15:52:01.830 回答
1

将圆括号添加到您的 val:alert($(this).val())

于 2012-08-16T15:52:04.233 回答
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>
于 2017-08-02T13:43:45.680 回答
0

在此处检查jQueryJavascript方法以在下拉菜单中获取单个/多个选定值

演示链接

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);
});
于 2020-06-12T09:11:09.793 回答