तत्व आईडी के आधार पर तत्व को कैसे छिपाना है, मैंने बिना उपयोग किए तत्व को छिपाने की कोशिश की:

document.getElementById('lis'+divId).style.visibility = "hidden"; 

लेकिन यह व्यक्तिगत तत्वों का उपयोग करते समय काम करता था लेकिन अगर मैं ng-repeat का उपयोग करता हूं तो यह तत्व को छुपाता नहीं है।

 <li ng-repeat="dashBoardAddWidgetList in dashBoardAddWidgetLists"  
            ng-click="addTemplate(dashBoardAddWidgetList.widget.widgetType,$index)"
                     id="lis{{$index}}" >{{dashBoardAddWidgetList.widget.widgetName}}</li>

नियंत्रक.जेएस

$scope.addTemplate = function(name,divId) {
                  //$scope.templates.push( { name: 'achPayBankProcess.html', url: '/Templates/dashboard/widgets/achPayBankProcess.html' });
                  $scope.templates.push( { name: name, url: '/Templates/dashboard/widgets/'+name,isSelected:1});
                  document.getElementById(divId).style.visibility = "hidden";
                  $scope.listCount--;
              };
0
Sunil 5 जिंदा 2017, 14:20
आप जो करने की कोशिश कर रहे हैं उसका एक उदाहरण उपयोगी होगा।
 – 
Ankh
5 जिंदा 2017, 14:21
  • {{dashBoardAddWidgetList.widget.widgetName}}< /li> सूची तत्व का चयन करने के बाद मुझे इन तत्वों को नियंत्रक में छिपाने की आवश्यकता है, तत्व छिपा हुआ है यदि एनजी-रिपीट का उपयोग नहीं किया जाता है अर्थात व्यक्तिगत तत्वों के लिए
  •  – 
    Sunil
    5 जिंदा 2017, 14:22
    1
    इसके बजाय एनजी-छिपाने का उपयोग करें ..
     – 
    Priyanka
    5 जिंदा 2017, 14:22
    प्रियंका मुझे ऑनक्लिक की स्थिति के आधार पर सूची तत्व को छिपाने की जरूरत है
     – 
    Sunil
    5 जिंदा 2017, 14:23
    1
    कृपया अपना कोड, स्वरूपित, टिप्पणियों के बजाय अपने प्रश्न में पोस्ट करें।
     – 
    Ankh
    5 जिंदा 2017, 14:25

    4 जवाब

    इस सरल तरीके को आजमाएं जैसे कि @प्रियंका ने क्या कहा है। (मेरे उत्तर को एक कुंजी की तरह लें)

    $scope.items = [{isshow:false,name:"Me"},{isshow:false,name:"We"},   
                   {isshow:false,name:"I"},{isshow:false,name:"Us"}]
    

    // html

    <div ng-repeat="item in items">
    <div ng-hide="item.isshow">
    {item.name}<button ng-click="ShowOrHide(this.item, $index)">show/hide</button>
    </div> 
    </div>
    
    
    //click event
    $scope.ShowOrHide(context,index)
    {
    context.ishsow=true;
    $scope.items[index]=context;
    }
    
    0
    Ramesh Rajendran 5 जिंदा 2017, 14:32
    Ng-hide="isselect==$index" इंडेक्स वैल्यू को कंट्रोलर $scope.isselect=$index में सेट करके काम करता है;
     – 
    Sunil
    5 जिंदा 2017, 15:08

    इसके बजाय ng-hide का प्रयोग करें:

    <li ng-repeat="dashBoardAddWidgetList in dashBoardAddWidgetLists"  
        ng-click="addTemplate(dashBoardAddWidgetList)"
        id="lis{{$index}}"
        ng-hide="dashBoardAddWidgetList.hide">
        {{dashBoardAddWidgetList.widget.widgetName}}
    </li>
    

    और आपके नियंत्रक में:

    $scope.addTemplate = function(widgetList, divId) {
        var name = widgetList.widget.widgetType;
    
        $scope.templates.push({
            name: name, 
            url: '/Templates/dashboard/widgets/'+name,
            isSelected: 1
        });
    
        // Set flag for hide on true
        widgetList.hide = true;
        $scope.listCount--;
    };
    
    0
    devqon 5 जिंदा 2017, 14:37

    एनजी-छिपाने के बजाय एनजी-अगर का उपयोग करें..

    0
    Nainish Modi 5 जिंदा 2017, 14:39

    नियंत्रक.जेएस

    $scope.addTemplate = function(name,divId) {
    
                  //$scope.templates.push( { name: 'achPayBankProcess.html', url: '/Templates/dashboard/widgets/achPayBankProcess.html' });
                  $scope.templates.push( { name: name, url: '/Templates/dashboard/widgets/'+name,isSelected:1});
                  alert('lis'+divId);
                  document.getElementById('lis'+divId).style.visibility"hidden";
                  $scope.listCount--;
                  $scope.isselect=divId;
                  };
    

    {{dashBoardAddWidgetList.widget.widgetName}}

    0
    Sunil 5 जिंदा 2017, 15:11