1

我正在尝试从带有 jquery 的下拉选择框中获取最后一个选项。

我这样做:

var maxOpt = $('#status option:last-child').val();
if (maxOpt != "SHIPPED") {
    console.log(maxOpt);
}

控制台继续打印未定义,即使最后一个选项是 SHIPPED。


完整代码

<script>
                    $(document).ready(function() {

                      $("#source").change(function() {

                        var el = $(this) ;
                        var sel = document.getElementById('statusList');
                        var maxOpt = $('#status option:last-child').val();
                        if((el.val() === "ONLINE" || el.val() === "ETSY") && maxOpt !="SHIPPED") {
                        $("#statusList").append("<option value='shipped'>SHIPPED</option>");
                        console.log(maxOpt);
                        }
                          else if(el.val() === "MANUAL" ) {
                            $("#statusList option:last-child").remove() ; }
                      });

                    });
                </script>
4

3 回答 3

2

尝试使用last

 $('#status option:last')

JSFIDDLE 演示

于 2013-11-01T15:37:02.110 回答
2

它对我 有用 http://jsfiddle.net/zvkCp/也许是你的选择器有问题:

$('#status option:last-child')

$(document).ready (function() {
  var maxOpt = $('select option:last-child').val();
  if (maxOpt != 'cuatro'){
    console.log(maxOpt);
  }
})

尝试console.log(maxOpt)关闭 if 条件。

于 2013-11-01T15:44:49.337 回答
0
$(function() {
    var lastOpt = $('#status').find('option:last-child').attr('value');
    if (lastOpt === 'SHIPPED') { //blah }
});
于 2013-11-01T15:28:24.220 回答