JavaScript - Uncaught TypeError: Cannot read property 'search' of undefined

DELION

When I execute my Javascript I'm getting this error:

Uncaught TypeError: Cannot read property 'search' of undefined

And I don't know how do fix it and why that is shown.

I have objects inside an array,

example:

AsukohaArray = [{"Punkt":[[58.1056],[23.2589]],
                    "name":"Haapsalu Raamat",
                    "PunktiID": 23}];

My code

$(document).ready(function() {
  $("input[type='search']").keyup(function() {
    var searchTerm = $(this).val();
    var myExp = new RegExp(searchTerm, "i");
    var output = "<ul id='result'>";
    $.each(AsukohaArray, function(key, val) {
      //console.log(val.name);
      if ((val.name).search(myExp) != -1) {
        output += '<li>';
        output += val.name;
        output += '</li>';
      }
    });
    console.log(output);
    output += "</ul>";
    $('div#update').html(output);
  });
});

HTML

<ons-page id="my-page">
    <ons-toolbar>
        <div class="left">
            <ons-toolbar-button ng-click="menu.toggleMenu()"><ons-icon icon="ion-navicon" style="font-size: 32px; width: 1em;"></ons-icon></ons-toolbar-button>
        </div>

        <div class="center">Kaardi vaade</div>
    </ons-toolbar>
    <div id="nupuriba">
    <input type="search" class="search-input" id="#search">
    </div>
    <div id="update"></div>
    <div id="map-canvas">
    </div>
</ons-page>

When I insert "Haapsalu" then results are:

Haapsalu piiskopilinnus Haapsalu Kunstikool Haapsalu Raamat Uncaught TypeError: Cannot read property 'search' of undefined

I have searched that error, but no result, haven't found nothing similar.

Laurentiu Petrea

Is your "val" (item from the array) a primitive data type, or is it an object containing the attribute "name"? If your val is let's say a String type, you should "search" directly into it. Your error suggests that "val" does not contain an attribute called "name".

Also, since you are using a RegExp, there, you should probably go with

if( val.match(myExp) > 0 )

or even better, if you only care about a boolean result,

if ( val.test(myExp) )

If I am wrong, and your .name attribute exists, if it's a string, just use it directly without the parenthesis:

if( val.name.test(myExp) )

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

JavaScript - Uncaught TypeError: Cannot read property 'search' of undefined

From Dev

Javascript Uncaught TypeError: Cannot read property of undefined

From Dev

JavaScript error: Uncaught TypeError: Cannot read property 'left' of undefined

From Dev

JavaScript error: Uncaught TypeError: Cannot read property 'remove' of undefined

From Dev

Uncaught TypeError: Cannot read property 'canvas' of undefined - Javascript Object

From Dev

Javascript Uncaught TypeError: Cannot read property '0' of undefined

From Dev

Javascript - Uncaught TypeError: Cannot read property 'value' of undefined

From Dev

Javascript and XML - Uncaught TypeError: Cannot read property 'childNodes' of undefined

From Dev

Javascript, Uncaught TypeError: Cannot read property "cells" of undefined

From Dev

Uncaught TypeError: Cannot read property 'width' of undefined in JavaScript

From Dev

javascript: Uncaught TypeError: Cannot read property 'Play' of undefined

From Dev

javascript "Uncaught TypeError: Cannot read property 'textfield' of undefined"

From Dev

Javascript: Simple Function - Uncaught TypeError: Cannot read property 'length' of undefined

From Dev

Javascript Handsontable - Uncaught TypeError: Cannot read property 'insertBefore' of undefined

From Dev

JavaScript error: Uncaught TypeError: Cannot read property 'remove' of undefined

From Dev

Electron JavaScript Uncaught TypeError: Cannot read property 'on' of undefined

From Dev

Javascript Uncaught TypeError: Cannot read property 'push' of undefined

From Dev

Uncaught TypeError: Cannot read property 'toLowerCase' of undefined

From Dev

Uncaught TypeError: Cannot read property 'substr' of undefined

From Dev

Uncaught TypeError: Cannot read property 'createRouteFromReactElement' of undefined

From Dev

Uncaught TypeError: Cannot read property 'ajax' of undefined

From Dev

Uncaught TypeError: Cannot read property 'call' of undefined

From Dev

Uncaught TypeError: Cannot read property 'createDocumentFragment' of undefined

From Dev

Uncaught TypeError: Cannot read property 'addMethod' of undefined

From Dev

Uncaught TypeError: Cannot read property 'draw' of undefined

From Java

Uncaught TypeError: Cannot read property 'top' of undefined

From Dev

Uncaught TypeError: Cannot read property 'parentNode' of undefined

From Java

Uncaught TypeError: Cannot read property 'linear' of undefined

From Dev

Uncaught TypeError: Cannot read property 'document' of undefined

Related Related

  1. 1

    JavaScript - Uncaught TypeError: Cannot read property 'search' of undefined

  2. 2

    Javascript Uncaught TypeError: Cannot read property of undefined

  3. 3

    JavaScript error: Uncaught TypeError: Cannot read property 'left' of undefined

  4. 4

    JavaScript error: Uncaught TypeError: Cannot read property 'remove' of undefined

  5. 5

    Uncaught TypeError: Cannot read property 'canvas' of undefined - Javascript Object

  6. 6

    Javascript Uncaught TypeError: Cannot read property '0' of undefined

  7. 7

    Javascript - Uncaught TypeError: Cannot read property 'value' of undefined

  8. 8

    Javascript and XML - Uncaught TypeError: Cannot read property 'childNodes' of undefined

  9. 9

    Javascript, Uncaught TypeError: Cannot read property "cells" of undefined

  10. 10

    Uncaught TypeError: Cannot read property 'width' of undefined in JavaScript

  11. 11

    javascript: Uncaught TypeError: Cannot read property 'Play' of undefined

  12. 12

    javascript "Uncaught TypeError: Cannot read property 'textfield' of undefined"

  13. 13

    Javascript: Simple Function - Uncaught TypeError: Cannot read property 'length' of undefined

  14. 14

    Javascript Handsontable - Uncaught TypeError: Cannot read property 'insertBefore' of undefined

  15. 15

    JavaScript error: Uncaught TypeError: Cannot read property 'remove' of undefined

  16. 16

    Electron JavaScript Uncaught TypeError: Cannot read property 'on' of undefined

  17. 17

    Javascript Uncaught TypeError: Cannot read property 'push' of undefined

  18. 18

    Uncaught TypeError: Cannot read property 'toLowerCase' of undefined

  19. 19

    Uncaught TypeError: Cannot read property 'substr' of undefined

  20. 20

    Uncaught TypeError: Cannot read property 'createRouteFromReactElement' of undefined

  21. 21

    Uncaught TypeError: Cannot read property 'ajax' of undefined

  22. 22

    Uncaught TypeError: Cannot read property 'call' of undefined

  23. 23

    Uncaught TypeError: Cannot read property 'createDocumentFragment' of undefined

  24. 24

    Uncaught TypeError: Cannot read property 'addMethod' of undefined

  25. 25

    Uncaught TypeError: Cannot read property 'draw' of undefined

  26. 26

    Uncaught TypeError: Cannot read property 'top' of undefined

  27. 27

    Uncaught TypeError: Cannot read property 'parentNode' of undefined

  28. 28

    Uncaught TypeError: Cannot read property 'linear' of undefined

  29. 29

    Uncaught TypeError: Cannot read property 'document' of undefined

HotTag

Archive