2010-11-22 26 views

Trả lời

123

Giá trị của trường không được rỗng, giá trị chuỗi luôn luôn là giá trị chuỗi.

Mã sẽ kiểm tra xem giá trị chuỗi có phải là chuỗi "NULL" hay không. Bạn muốn kiểm tra xem nó là một chuỗi rỗng thay vì:

if ($('#person_data[document_type]').val() != ''){} 

hay:

if ($('#person_data[document_type]').val().length != 0){} 

Nếu bạn muốn kiểm tra xem phần tử tồn tại ở tất cả, bạn nên làm điều đó trước khi gọi val:

var $d = $('#person_data[document_type]'); 
if ($d.length != 0) { 
    if ($d.val().length != 0) {...} 
} 
+20

'Giá trị của một trường không thể là null, nó luôn luôn là một giá trị chuỗi.' điều này không hoàn toàn đúng. Tôi có một 'lựa chọn' không chứa' tùy chọn'. Khi tôi thực hiện '.val()', nó trả về 'null'. Jquery 1.7.2 – Liam

+1

@Liam: Vâng, bạn nói đúng, đó dường như là ngoại lệ. – Guffa

+1

Ngoại lệ này có được giải quyết trong các phiên bản mới nhất không? –

0

jquery cung cấp chức năng val()not value(). Bạn có thể kiểm tra chuỗi rỗng sử dụng jquery

if($('#person_data[document_type]').val() != ''){} 
35

tôi cũng sẽ cắt lĩnh vực đầu vào, gây ra một không gian có thể làm cho nó trông giống như điền

if ($.trim($('#person_data[document_type]').val()) != '') 
{ 

} 
+0

hoàn hảo nó làm việc cho tôi :) –

11

Giả sử

var val = $('#person_data[document_type]').value(); 

bạn có những trường hợp :

val === 'NULL'; // actual value is a string with content "NULL" 
val === '';  // actual value is an empty string 
val === null; // actual value is null (absence of any value) 

Vì vậy, hãy sử dụng những gì bạn cần.

9

điều đó phụ thuộc vào loại thông tin bạn đang đi qua với điều kiện ..

đôi khi kết quả của bạn sẽ được null hoặc undefined hoặc '' hoặc 0, để xác nhận đơn giản của tôi tôi sử dụng này nếu.

($('#id').val() == '0' || $('#id').val() == '' || $('#id').val() == 'undefined' || $('#id').val() == null) 

LƯU Ý: null = 'null'

3
_helpers: { 
     //Check is string null or empty 
     isStringNullOrEmpty: function (val) { 
      switch (val) { 
       case "": 
       case 0: 
       case "0": 
       case null: 
       case false: 
       case undefined: 
       case typeof this === 'undefined': 
        return true; 
       default: return false; 
      } 
     }, 

     //Check is string null or whitespace 
     isStringNullOrWhiteSpace: function (val) { 
      return this.isStringNullOrEmpty(val) || val.replace(/\s/g, "") === ''; 
     }, 

     //If string is null or empty then return Null or else original value 
     nullIfStringNullOrEmpty: function (val) { 
      if (this.isStringNullOrEmpty(val)) { 
       return null; 
      } 
      return val; 
     } 
    }, 

Sử dụng người giúp đỡ này để đạt được điều đó.

Các vấn đề liên quan