2012-04-22 6 views
0

ように私は、チェックボックスを持つテーブルを持っている、と私は<a id='fecth_details'...をクリックして投稿しています:私はそれが空であるかどうか、それを制御する必要がjqueryのjsonの空の制御

$('#fetch_details').click(function(e) { 
    e.preventDefault(); 
    var data = { 'selected_sales[]' : []}; 
    $("input[name='salesID[]']:checked").each(function() { 
     data['selected_sales[]'].push($(this).val()); 
    }); 
    $('#list_data').html(''); 
    $.post('fetch_sales_details',data,function (data) { $('#list_data').html(data)}); 
    }); 

。基本的には次のようにテストしてください:

var data = ({ 'choices[]': ["Jon", "Susan"] }); 
alert(data); 
if ($.isEmptyObject(data.choices)) 
{ 
    alert('it is an empty object'); 
} 
else 
{ 
    alert('auch! I am not empty'); 
} 

しかし、うまくいきません...チェックボックスをオンにしないと、私はうまくいきません。

+0

コールバック「結果」データに別の名前を使用する必要があります。同じ変数名を再使用すると、コールバックコードに予期しない結果が生じる可能性があります。 –

答えて

2

は、あなたがこのようにそれを試すことができます

$('#fetch_details').click(function(e) { 
     e.preventDefault(); 
     if(!$(":checkbox:checked").length>0){//atleast one checkbox is checked 
     //your code here 
     // 
0

を試してみてください。

var data = { 'choices' : { "" : ["Jon", "Susan"] } }; 
    alert(data); 
    if ($.isEmptyObject(data.choices)) { 
    alert('it is an empty object'); 
    } else { 
    alert('auch! I am not empty'); 
    } 

少し変更してコードをそのまま残してください。

var data = { 'choices' : ["Jon", "Susan"] }; 
    alert(data); 
    if ($.isEmptyObject(data.choices)) { 
    alert('it is an empty object'); 
    } else { 
    alert('auch! I am not empty'); 
    }