подтвердить ui-select Angular JS — вне формы

Мне нужно проверить пользовательский интерфейс при нажатии кнопки. Когда значение выбрано в ui-select, нужно только включить кнопку. Но дело в том, что кнопка находится за пределами другого элемента управления div и не использует тег формы (уже используйте другую форму внутри div для другого действия). Мой пример кода следующий:

<div class="form-group form-group-sm">
    <label class="control-label text-xs col-xs-12 col-sm-5 col-md-4 ">Search :</label>

    <div class="col-xs-12 col-sm-7 col-md-8 ">
        <ui-select ng-model="cl.selected" theme="bootstrap" on-select="reload($item)" ng-disabled="disabled" title=""
                   required>
            <ui-select-match placeholder="Filter by Client">{{$select.selected.clName}}</ui-select-match>
            <ui-select-choices repeat="cl in cls | clFilter: {clName: $select.search, clNum: $select.search}">
                <div ng-bind-html="cl.clName | highlight: $select.search"></div>
                <small>
                    Cl Num : {{cl.clNum}}
                </small>
            </ui-select-choices>
        </ui-select>
    </div>
</div>

и кнопка выглядит следующим образом:

<ul class="list-inline pull-right">
    <li>
        <button id="clientSaveContinue" class="btn btn-primary  btn-sm next-step"
                ng-click="submitForm()">
            Save and Continue
        </button>
    </li>
</ul> 

Итак, как включить кнопку, щелкнув любое значение ui-select, содержащее или сделать ui-select по мере необходимости


person KaviSuja    schedule 30.08.2016    source источник
comment
не могли бы вы предоставить ссылку на plunkr   -  person balajivaishnav    schedule 30.08.2016


Ответы (1)


Не так много информации =(

Предложите использовать submitForm() внутри тега формы, а не в событии нажатия кнопки.

<form ng-submit="submitForm()"></form>

Если вы не можете использовать кнопку внутри своей формы, вы можете создать <input type="submit"> или <button type="submit"> внутри своей формы (если они не существуют) и использовать какую-то директиву связывания.

'use strict';

import angular from 'angular';

function linked() {
    return (scope, element, attrs) => {
        var id = attrs['linked'];
        element.on('click', function () {
            document.getElementById(id).click();
            return false;
        });
    }
}

export default angular.module('components', [])
    .directive('linked', linked)
    .name;

И используйте его:

<form ng-submit="submitForm()">
    ...
    <input type="submit" style="display: none" id="mySubmitId">
</form> 

<button type="button" linked="mySubmitId">

И взгляните на директиву ng-submit.

person Makarov Sergey    schedule 30.08.2016