Как включить или отключить одно значение td angularjs на основе щелчка переключателя? - PullRequest
0 голосов
/ 30 мая 2019

Здесь. В таблице есть несколько записей, я хочу включить или отключить определенные данные таблицы, основываясь на щелчке переключателя.Например: если я нажму «Да», то данные таблицы строк должны быть включены.Все остальные должны быть в отключенном виде. (AngularJS)

Кто-нибудь Не могли бы вы помочь мне в этом.

<table style="background: ghostwhite;" class="table table-striped table-hover">

      <thead>
        <tr>
          <th scope="col">#</th>
          <th scope="col">Product Name</th>
          <th scope="col">Variant Name</th>
          <th scope="col">Purchase Price</th>
          <th scope="col">Selling Price</th>

          <th scope="col">Offer ?</th>
          <th scope="col">Offer Details</th>
        </tr>
      </thead>
      <tbody>
        <tr ng-show="AllItemDetails.length == 0"><td colspan="5" style="text-align:center;color: red;font-weight: bold;">No Details Found ..</td></tr>
            <tr dir-paginate="item in AllItemDetails|itemsPerPage:itemsPerPage |filter:search" total-items="total_count" current-page="pageno">
                <td>{{itemsPerPage * (pageno-1)+$index+1}}</td>
                <td>{{item.productName}}</td>
                <td>{{item.variantName}}</td>
                <td>{{item.purchasePrice}}</td>
                <td>
                    <div class="col-md-6">
                        <input type="text" ng-model="item.sellingPrice" class="form-control" placeholder="Enter Selling Price" only-digits required/>
                    </div>
                </td>

                <td>
                    <div class="col-md-6">
                            <label>
                                <input type="radio" name="isOffer{{itemsPerPage * (pageno-1)+$index+1}}" value="YES" ng-model="isOffer" ng-value="'YES'" ng-checked="(isOffer === 'YES')" ng-click="showDetails(itemsPerPage * (pageno-1)+$index+1)">YES
                            </label>
                            <label>
                                <input type="radio" name="isOffer{{itemsPerPage * (pageno-1)+$index+1}}" value="NO" ng-model="isOffer" ng-value="'NO'" ng-checked="(isOffer === 'NO')" ng-click="hideDetails(itemsPerPage * (pageno-1)+$index+1)">NO
                            </label>
                    </div>
                </td>

                <td>
                    <div id="offer{{itemsPerPage * (pageno-1)+$index+1}}">
                            <input ng-disabled="{{isOffer === 'NO'}}" type="text" placeholder="Offer Name"/>
                            <input ng-disabled="{{isOffer === 'NO'}}" type="text" placeholder="%"/>
                    </div>
                </td>

            </tr>
            <tr>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td>
                    <input style="float: right;" type="button" class="btn btn-primary" value="Update Price" ng-click="updateSellingPrice(AllItemDetails)" ng-disabled="pricemanagement.$invalid"/>
                </td>
            </tr>
     </tbody>

    </table>

1 Ответ

0 голосов
/ 30 мая 2019

Проблема здесь в том, что вы передаете своей директиве ng-disabled.ng-disabled принимает выражение и оценивает его в рамках данной области.Поэтому нет необходимости интерполировать ({{...}}) выражение.

Вы можете устранить проблему, удалив интерполяцию ({{...}}) при передаче выражения в директиву ng-disabled

* 1009.*

Вот документация для справки: https://docs.angularjs.org/api/ng/directive/ngDisabled

...