Jquery - 仅当字段不为空时才进行处理

时间:2013-05-15 21:50:12

标签: javascript jquery performance

这是我的代码: http://jsfiddle.net/E8sNt/1/

我想知道以下功能:

        if (coded === false) {
                processLocation();
        }

如果#loc输入字段实际上有内容,我怎么才能执行此操作。在sudo代码中它会有点像这样,但我无法找到正确的代码:

        if (coded === false && #loc.val!=0) {
                processLocation();
        }

这是我的完整代码:

var coded = false;
geocode();
$.cookie("country", "uk");

// GEOCODE FUNCTION
function geocode() {
        var input = $('#loc')[0];
        var options = {types: ['geocode']};
        var country_code = $.cookie('country');

        if (country_code) {
                options.componentRestrictions = {
                        'country': country_code
                };
        }

        var autocomplete = new google.maps.places.Autocomplete(input, options);

        google.maps.event.addListener(autocomplete, 'place_changed', function() {
                processLocation();
        });

        $('#searchform').on('submit', function(e) {
                if (coded === false) {
                        processLocation();
                }
                return true;
        });

        $("#loc").bind("change paste keyup", function() {
                coded = false;
        });
}

function processLocation() {
        var geocoder = new google.maps.Geocoder();
        var address = $('#loc').val();
        geocoder.geocode({
                'address': address
        },
        function(results, status) {
                if (status === google.maps.GeocoderStatus.OK) {
                        coded = true;
                        $('#lat').val(results[0].geometry.location.lat());
                        $('#lng').val(results[0].geometry.location.lng());
                } else {
                        coded = false;
                        alert("Sorry - We couldn't find this location. Please try an alternative");
                }
        });
//      coded = true;     // Do we need this?
}

5 个答案:

答案 0 :(得分:8)

if (coded === false && $("#loc").val() != "") {
      processLocation();
}

http://jsfiddle.net/E8sNt/2/

或 -

if(!coded && $('#loc').val()){
  processLocation();
}

答案 1 :(得分:4)

$("#loc").val() != ""  应该工作。

答案 2 :(得分:4)

if (coded === false && $('#loc').val() ) {
      processLocation();
}

答案 3 :(得分:4)

对不起,如果我误解了,但这是你需要的吗?

  if (coded === false && $("#loc").val().length> 0) {
                processLocation();
        }

CHEARS

答案 4 :(得分:2)

使用Javascript

if (coded === false && document.getElementById("loc").value!= "") {
      processLocation();
}