Question: I´m using ngTagsInput with auto-complete to filter my TagList:

```
<tags-input ng-model="tags" placeholder="neues Tag">
    <auto-complete source="loadTags($query)"></auto-complete>
</tags-input>

```

And the following js:

```
var app = angular.module('ipbx', ['ngTagsInput']);
var query;

app.controller('MainCtrl', function($scope, $http) {

  $scope.tags = globaltags;

  $scope.loadTags = function(val) {
    return $http.get(tagurl+"&query="+val);
  };

});

```

When I have a least 3 characters in the input, the tagurl is fired, but `$query` keeps `undefined`.

Any Idea?

Answer: 
Use beautiful soups - .strings method.

```
for string in soup.stripped_strings:
print(repr(string))

```

from the docs:

> 
> If there’s more than one thing inside a tag, you can still look at
>  just the strings. Use the .strings generator:
> 
> 
> 

or 

> 
> These strings tend to have a lot of extra whitespace, which you can
>  remove by using the .stripped\_strings generator instead:
> 
> 
>
Iterate over results and get the value of `text` attribute:

```
for element in soup.select(".sidebar li"):
    print element.text

```

Example:

```
from bs4 import BeautifulSoup

data = """
<body>
    <ul>
        <li class="first">Def Leppard -  Make Love Like A Man<span>Live</span> </li>
        <li>Inxs - Never Tear Us Apart        </li>
    </ul>
</body>
"""

soup = BeautifulSoup(data)
for element in soup.select('li'):
    print element.text

```

prints:

```
Def Leppard -  Make Love Like A ManLive 
Inxs - Never Tear Us Apart        

```