0

私は以下のコードを持っています:

 $.post('get_as_12', {data:selectedObj.value},function(result) {
 alert(result[0]) ;

      if(result[0] > 0) {
          $('#h12_1').attr('checked','checked');
          alert('12-1');
       } else {
          $('#h12_1').removeAttr('checked');
          alert('12-2');
      }
 }); 

get_as_12 は MySQL クエリです。

データベースの結果がある場合、アラートalert(result[0]) ;は正しく発生します。ただし、結果がなく、戻り値がNULLアラートを引き続き発生させる方法である場合。これ以上、else ステートメントを起動するにはどうすればよいですか。 $('#h12_1').removeAttr('checked');

前もって感謝します。

アップデート

 $.post('get_as_12', {data:selectedObj.value},function(result) {
 alert(result[0]) ;

      if(result[0].length > 0) {
          $('#h12_1').attr('checked','checked');
       } else {
          $('#h12_1').removeAttr('checked');
      }
 }); 
4

3 に答える 3

2

おそらく次のようなものです:

$.post('get_as_12', {data:selectedObj.value},function(result) {
    if(result != null && result[0] > 0) {
        $('#h12_1').attr('checked','checked');
        alert('12-1');
    } else {
        $('#h12_1').removeAttr('checked');
        alert('12-2');
    }
});

nullこれにより、結果がorでないことのチェックが追加されますundefined。定義された結果が少なくとも 1 つの要素を含む配列になることが確実な場合は、それで問題ありません。それ以外の場合は、チェックを追加する必要がありますresult.length > 0

于 2013-04-19T09:48:26.543 に答える
1

結果の長さを探していると思います[0]

if(result && result[0].length > 0) {.......

result[0] には、mysql クエリの結果を含む配列が含まれていると想定しています。length プロパティを使用すると、結果セットが空かどうかを確認できます。したがって、クエリが結果を返さない場合は、ステートメントの else-statement を呼び出す必要があります。

于 2013-04-19T09:45:59.157 に答える