2016-06-17 12 views
2

私のフォームには、Bootstrap-select.jsプラグインを使用したスタイルの選択オブジェクトがあります。選択ボックスを初期化し、その値を取得しようとすると、オプションを選択するまではnullになります。私のスクリプトでは私が使用しています: -

$(select).val().length

$(select).val()nullあるときは、このエラーが発生します。私は本当に0を取得したいと思います。

どうすればよいですか?

+0

は、変数をSELECT' 'ですか? '$(select) 'のように使われます – Satpal

答えて

5

試み: -

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

Logical Operators

論理演算子は、通常ブール(論理)値で使用されています。 これらの値は、ブール値を返します。しかし、& &と|| 演算子は実際に指定されたオペランドの1つ、 の値を返します。したがって、これらの演算子がブール値以外で使用される場合は、 はブール値でない値を返します。

falseに変換することができる式の例は、

  • ヌル
  • のNaN
  • 空の文字列( "")
  • の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>

+1

それはちょうど素晴らしいと賢いです。ありがとう! –

0

この

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

console.log(get_length(my_select_box_variable));

+0

それは問題ではありません。私はこのようなものを使用しています: 'var $ selectElement = $("#mySelect "); console.log($ selectElement.val()。length); ' –

+0

私はそれを更新しました。今すぐ試してください。 –

+1

このように関数を単純化すると、 'function get_length(select){ return $(select).val()!= null? $(選択).val()。長さ:0; } ' – Krishna

1

これを使用してみてください。

var $selectElement = $("#mySelect"); 
var len = $selectElement.val() != null ? $selectElement.val().length : 0; 
console.log(len); 
関連する問題