简体   繁体   中英

How to add fields in bootstrap model dynamically in angular

I am new to webDevelopment . Now, Here I have a list of buttons , but the data-target is a same model for every button click. So, My model is like -

<div class="modal fade" id="myModalHorizontal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <!-- Modal Header -->
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">
                   <span aria-hidden="true">&times;</span>
                   <span class="sr-only">Close</span>
            </button>
                <h4 class="modal-title" id="myModalLabel">
                   Missing {{suggestivalue}}
                </h4>
            </div>

            <!-- Modal Body -->
            <div class="modal-body">

                <form class="form-horizontal" role="form">
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="inputEmail3">Email</label>
                        <div class="col-sm-10">
                            <input type="email" class="form-control" id="inputEmail3" placeholder="Email" />
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="inputPassword3">Password</label>
                        <div class="col-sm-10">
                            <input type="password" class="form-control" id="inputPassword3" placeholder="Password" />
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-offset-2 col-sm-10">
                            <div class="checkbox">
                                <label>
                        <input type="checkbox"/> Remember me
                    </label>
                            </div>
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-offset-2 col-sm-10">
                            <button type="submit" class="btn btn-default">Sign in</button>
                        </div>
                    </div>
                </form>
            </div>
            <!-- Modal Footer -->
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">
                        Close
            </button>
                <button type="button" class="btn btn-primary">
                Save changes
            </button>
            </div>
        </div>
    </div>
</div>

In this buttons are like -

 <ul class="col-md-12 list-group suggestion">
                <li class="list-group-item suggestion-list-group-item nopadding" ng-repeat="suggestion in suggestions | orderBy:'name'" tooltip-trigger
                    tooltip-placement="bottom" tooltip={{suggestion.name}} tooltip-popup-delay=200 tooltip-append-to-body="true">
                    <button ng-click="grabIndex(suggestion)" class="btn btn-default btn-block suggestion-button" role="button" data-toggle="modal"
                        data-target="#myModalHorizontal"><span class="suggestion-text">{{suggestion.name}}</span>
                    </button>
                </li>
            </ul>

Every Button is going to open a same model,But It should be respective to that of click value. Eg If the button is like FullName , I should be able to add the two Input box fistName and lastName . Its like on click of the Button, How can I add the fields respective of that button.? Can any one help me with this ?

I think you can use ng-if

Just create all fields in modal Like firstname lastname email password remember me

When you click on btn , set a variable like showFields Eg: showFields== "login" or "" showFields== "register"

use ng-if ='showFields== "register"' for fields that need to show only on register page

Hope it will help

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM