0

郵便番号の入力フィールドに応じてサーバーからデータを収集する小さなjQuery関数があります。

$(document).ready(function(){
  $('#id_zipcode').keyup(function() {
    var selected = this.value;
    if (selected.length > 3) {
        $.getJSON(get_zip_factors_url, {
            zipcode: selected
        }, function(env_data, jqXHR) {
            $('#snow_fall').html(env_data[0].snow);
            $('#wind_speed').html(env_data[0].wind);
        });
    }
  }).keyup();
});

これで問題なく動作します。ただし、ユーザーが文字を削除する#snow_fallと、レンダリングされた値が保持されます#wind_speed。この削除を登録し、ユーザーが文字を削除してサーバーから有効なデータが返されない場合に、値を「使用不可」の文字列に戻す方法はありますか?

どんな助けでも大歓迎です。

4

2 に答える 2

1

私はそのように応答を変更するかもしれません:

$.getJSON(get_zip_factors_url, {
            zipcode: selected
        }, function(env_data, jqXHR) {
            if(env_data[0].valid == true )
            {
                $('#snow_fall').html(env_data[0].snow);
                $('#wind_speed').html(env_data[0].wind);
            } else {
                $('#snow_fall').html('Not Available');
                $('#wind_speed').html('Not Available');
            }
        });

または、入力されたzipまたは長さをグローバルに追跡し、ajax呼び出しを行う手間をかけずに確認することもできます。

于 2012-11-08T19:32:32.533 に答える
1

郵便番号の値を探している場合は、if(selected.length == 5)に変更してから、ifステートメントのelseを使用してsnow_fallとwind_speedを「使用不可」に設定しませんか?

于 2012-11-08T19:34:17.697 に答える