2013-06-28 11 views
5

का उपयोग करके चयनित आइटम हटाएं मैं ग्रिड से आइटम को निकालने का समाधान ढूंढ रहा था; यही कारण है कि मैंने पहले सवाल पोस्ट किया था। लेकिन जब मुझे किसी से समाधान मिला, उस समय, मैंने सोचा कि यह समस्या हल हो गई है, लेकिन यह एक फ़िल्टर विधि का उपयोग कर रहा था।angularjs स्प्लिस फ़ंक्शन

हालांकि, मैं चाहता हूं कि आइटम को स्प्लिस फ़ंक्शन का उपयोग करके जीआरआईडी से हटा दिया जाए।

यहाँ मेरे पुराने प्रश्न लिंक Angularjs, Applying Action on Selected Checkboxes in Table

मैं इसे एक ब्याह समारोह का उपयोग कर निष्पादित करने के लिए चाहते हैं।

अभी जिस समस्या का सामना कर रहा हूं वह है कि इंडेक्स वैल्यू को फ़ंक्शन पर पास करना है ताकि आइटम को हटाया जा सके यदि उस इंडेक्स मान को चुना/लाया गया हो। मुझे यकीन नहीं है कि इसे कैसे ठीक किया जाए।

कोई अच्छा होगा अगर कोई समस्या हल करता है और अद्यतन कोड को डेमो लिंक देता है।

यहां तक ​​कि मैंने जो कोशिश की है उसके लिए प्लंकर लिंक यहां है। जे एस array.splice विधि के Plunker link to show my execution

+0

कृपया उदाहरण के लिए splice –

उत्तर

6

मैं यह काम कर रहा करने के लिए चेकबॉक्स को एनजी-क्लिक करें जोड़ लिया है

http://plnkr.co/edit/DSVPj3holsf4nhNvEMbQ?p=preview

+0

उत्तर के लिए धन्यवाद, आपका कोड पहली बार काम करता है, लेकिन अगली बार जब मैं चेक बॉक्स का चयन करता हूं तो यह 2 मान हटा देता है? –

+0

मेरा मतलब है कि पहली बार मैं पृष्ठ लोड करता हूं -> मैं चेकबॉक्स का चयन करता हूं, फिर मैं हटाता हूं, आइटम हटा देता हूं, लेकिन जब मैं अन्य चेकबॉक्स पर क्लिक करता हूं तो रीफ्रेशिंग पेज के बिना और मैं इसे 2 आइटम हटा देता हूं। –

+0

खेद है कि एक लाइन ने अब प्लंकर को अपडेट किया है –

7

परिभाषा (MDN से):

array.splice (सूचकांक, howmany [, element1 [, ... [, elementN]]])

$scope.remove = function(index){ 
    $scope.students.splice(index, 1); 
}; 

DEMO PLUNKER

:

तो, अपने remove समारोह के रूप में लिखा जाना चाहिए

संपादित करें:

मैं लगा आप remove समारोह की ओर इशारा करते एनजी-क्लिक के साथ "x" बटन पर क्लिक करके आइटम हटाने के लिए करना चाहता था।

चेकबॉक्स आप एक छात्र संपत्ति के लिए चेकबॉक्स ngModel सेट और चाहिए पर क्लिक करके आइटम निकालने के लिए की तुलना में है कि जो सच को यह संपत्ति सेट है उन छात्रों को हटायेंगे जो छात्रों पर एक $ द्रष्टा डाल:

<tr class="color2" ng-repeat="student in students | filter:search | filter:new_search"> 
    <td>{{student.Rollno}} <input type="checkbox" ng-model="student.checked"> </td> 
    <td>{{student.Name}}</td> 
    <td>{{student.Uni}} <button ng-click="remove($index)">x </button></td> 
</tr> 
$scope.$watch('students', function(students){ 
    if(!students){ 
    return; 
    } 
    $scope.students = students.filter(function(student){ 
    return !student.checked; 
    }); 
}, true); 

PLNUKER

+0

के लिए प्लंकर डेमो के नीचे कृपया देखें, लेकिन यह चयनित आइटम को ग्रिड से नहीं हटाता है। –

+0

जो प्लगइन लिंक मैंने संलग्न किया है वह अन्यथा साबित होता है। – Stewie

+0

महोदय, मैंने आपके डेमो प्लंकर लिंक की जांच की है, मैंने पहले चेक बॉक्स पर और आखिरी बार क्लिक किया लेकिन यह ग्रिड से केवल 1 आइटम हटा दिया गया। –