【问题标题】:$(select).val().length of null gives error$(select).val().length of null 给出错误
【发布时间】:2016-06-17 21:47:43
【问题描述】:

我的表单中有一个选择对象,使用 Bootstrap-select.js 插件设置样式。当我初始化选择框并尝试获取它的值时,它是null,直到我选择一个选项。在我的脚本中,我正在使用:-

$(select).val().length

但是,当 $(select).val()null 时,这会产生错误。我真的很想得到一个0

我该怎么做?

【问题讨论】:

  • select 是变量吗?它就像一个$(select)

标签: jquery bootstrap-select


【解决方案1】:

尝试:-

($(select).val() || '').length

Logical Operators

逻辑运算符通常与布尔(逻辑)值一起使用。 当它们存在时,它们返回一个布尔值。但是,&& 和 || 运算符实际上返回指定操作数之一的值, 因此,如果这些运算符与非布尔值一起使用,它们可能 返回一个非布尔值。

可以转换为 false 的表达式示例有:

  • NaN
  • 0
  • 空字符串(“”)
  • NaN
  • 未定义

演示

var length = ($('select').val() || '').length;

console.log('length: ' + length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select>

<select>

【讨论】:

  • 这真是太棒了又聪明。谢谢!
【解决方案2】:

使用这个。

var $selectElement = $("#mySelect");
var len = $selectElement.val() != null ? $selectElement.val().length : 0;
console.log(len);

【讨论】:

    【解决方案3】:

    试试这个

    function get_length( select ){
     if ( $(select).val() != null ) {
      return $(select).val().length;
     }else{
      return 0;
     }
    }
    

    console.log( get_length(my_select_box_variable) );

    【讨论】:

    • 这不是问题。我正在使用这样的东西:var $selectElement = $("#mySelect"); console.log($selectElement.val().length);
    • 您可以像这样进一步简化您的功能 - function get_length(select) { return $(select).val() != null ? $(select).val().length : 0; }
    猜你喜欢
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多