IggY
IggY

Reputation: 3125

AngularJS : concatenate depending on variable value

I have 3 input field in a form :

<input type="text" name="filename_regex_begin" ng-model="filename_regex_begin">
<input type="text" name="filename_regex_contains" ng-model="filename_regex_contains">
<input type="text" name="filename_regex_end" ng-model="filename_regex_end">

I concatenate them in a fourth field :

<input type="textarea" name="result" value="{{filename_regex_begin + filename_regex_contains + filename_regex_end}}">

But now, I'd like to do the following

if (filename_regex_contains is empty)
    <input type="textarea" name="result" value="{{filename_regex_begin + "*" + filename_regex_end}}">
else
    <input type="textarea" name="result" value="{{filename_regex_begin + "*" + filename_regex_contains + "*" + filename_regex_end}}">

I don't manage to do this with AngularJS (I just started learning it), is it possible ?

Upvotes: 0

Views: 82

Answers (2)

AlainIb
AlainIb

Reputation: 4728

the answer of Giulio Molinari is very good.

i will add that if you want to do an "if" condition in the view. you can do it with the angularjs ngIf:

    <span ng-if="filename_regex_contains is empty">
        <input type="textarea" name="result" value="{{filename_regex_begin + "*" + filename_regex_end}}">
    </span>
    <span ng-if="!(filename_regex_contains is empty)">
        <input type="textarea" name="result" value="{{filename_regex_begin + "*" + filename_regex_contains + "*" + filename_regex_end}}">
    </span>

Upvotes: 0

Giulio Molinari
Giulio Molinari

Reputation: 132

You can do like this:

<input type="textarea" name="result" value="{{filename_regex_begin + '*' + (filename_regex_contains ? filename_regex_contains + '*' : '') + filename_regex_end}}">

Bye

Upvotes: 2

Related Questions