2013-03-14 12 views
18

का उपयोग कर कोणीय में डिलीट बटन के लिए एक पुष्टिकरण अलर्ट बनाएं मेरे पास एक ऐसा फॉर्म है जिसमें डिलीट बटन है, मैं एक पुष्टिकरण बॉक्स बनाना चाहता हूं जो हटाए गए बटन पर क्लिक होने पर पॉप अप करता है। डिलीट बटन वर्तमान में काम करता है। मैंने बिना किसी किस्मत के जावास्क्रिप्ट में कई चीजों की कोशिश की है। मैं कोणीय का उपयोग कर रहा हूँ।जेएस

इस के लिए यह सबसे अच्छा तरीका है?

इसके अलावा, क्या किसी को इसके लिए किसी भी उदाहरण के बारे में पता है, मुझे कोई काम नहीं मिला है।

$(document).ready(function(){ 
    $("form").validate(); 
    $(".radius small success button").ConfirmDialog('Are you sure?'); 
}); 
+0

psuedo कोड के बजाय कुछ वास्तविक कोड के बारे में - कृपया हमें दिखाएं कि आपने क्या प्रयास किया है, और यह इंगित करें कि क्या काम नहीं कर रहा है। –

+0

@MarkRajcok उचित है, मैंने जो जोड़ा है उसे जोड़ा है। क्या मैं सही दिशा में कोई विचार हूं? – FluxEngine

उत्तर

9

यह ng-show

साथ डिफ़ॉल्ट रूप से छिपाने के लिए नियंत्रक लोड पर गलत पर

<div class="alert alert-block alert-error notification fade in" data-ng-show="displayLocationDeletePopup"> 
    <h6>Are you sure you want to delete this location?</h6> 
    <div class="form-controls-alert"> 
     <a href="" class="btn" data-ng-click="showDeleteLocationPopup(false)">No</a> 
     <a href="" class="btn btn-danger" data-ng-click="deleteVendorLocation(locationId)">Yes</a> 
    </div> 
</div><!-- end alert -->  

सेटिंग मॉडल है कि हम अपने 'पुष्टि संवाद' संभाल रहे हैं (बूटस्ट्रैप का प्रयोग करके)

मार्कअप

$scope.displayLocationDeletePopup = false; 

शो पॉपअप के लिए ईवेंट पर क्लिक करने पर, फ़ंक्शन/pa sses

<i class="icon-remove" data-ng-click="showDeleteLocationPopup(true, location)"></i> 

नियंत्रक में मॉडल:

$scope.showDeleteLocationPopup = function(options, id) { 
    if (options === true) { 
     $scope.displayLocationDeletePopup = true; 
    } else { 
     $scope.displayLocationDeletePopup = false; 
    } 
    $scope.locationId = id; 
}; 

और ऊपर html में एंकर प्रति, पॉपअप बंद या चलाने या तो कर सकते हैं समारोह

$scope.deleteVendorLocation = function (storeLocation) { 
    // Code to run on confirmation    
}; 
+1

मुझे बूटस्ट्रैप उपयोगकर्ताओं के लिए यह पसंद है। –

29

Here के एक और इस पर दृष्टिकोण। असल में यह एक निर्देश है जो आपको चेतावनी स्ट्रिंग को प्राप्त करना चाहता है, और यदि उपयोगकर्ता स्वीकार करता है तो कॉल करने के लिए फ़ंक्शन। उपयोग उदाहरण:

<button type="button" ng-really-message="Are you sure?" 
ng-really-click="delete()">Delete</button> 
+3

निर्देश के बिना एक मूल ब्राउज़र संवाद बॉक्स प्रदर्शित किया जा सकता है 'अगर (confirim (' क्या आप निश्चित हैं? ')) {कुछ करें}} ** सटीक ** एक ही चीज़ जो बहुत कम ओवरहेड करता है। – Malkus

+1

कृपया अपने उत्तर में अपने समाधान के लिए सभी कोड शामिल करें। – Malkus

+1

उन्होंने सभी आवश्यक कोड शामिल किए - 'यहां' शब्द पर क्लिक करें।और, नहीं, आप एनजी-क्लिक के साथ पुष्टि का उपयोग नहीं कर सकते क्योंकि आप उन अभिव्यक्तियों के अंदर नियंत्रण प्रवाह नहीं रख सकते हैं। –

39

ऐसा लगता है कि एंगुलरजेएस निर्देश की तरह यह एक समाधान के लिए थोड़ा ऊपर है। जब तक आपको अपने "पुष्टि()" फ़ंक्शन में कुछ कस्टम कार्यक्षमता की आवश्यकता न हो, तब तक सीधे जावास्क्रिप्ट का उपयोग करना आसान लगता है।

if (confirm('Are you sure you want to delete this?')) { 
    // TODO: Do something here if the answer is "Ok". 
} 

आशा इस मदद करता है, चियर्स

अद्यतन: असल में, कोणीय के साथ, यह बेहतर $ window.confirm उपयोग करने के लिए के रूप में इस आप कर्मा/जैस्मीन के साथ परीक्षण करने की अनुमति होगी।

+2

अच्छी सोच। उस –

+1

की तलाश में था जब तक कि उपयोगकर्ता क्रोम में अलर्ट/पुष्टि प्रदर्शित न करने तक चुनता है। क्रोम में, जब आपको एक पुष्टिकरण मिलता है, तो एक चेकबॉक्स होता है "इस तरह के संदेश न दिखाएं"। और वह चला गया। –

+0

निश्चित है, लेकिन अलर्ट डिफ़ॉल्ट रूप से चालू है। इसे रोकने के लिए, एक निर्देश जो पुष्टि() का उपयोग किए बिना अलर्ट बॉक्स को संभालता है उसे ठीक करेगा। –

-1
var r = confirm("Are you sure you want to Permanently delete this order?"); 
if (r == true) { 
    (OK button click) Write the function here..... 
} else { 
    (Cancle button click) Write the function here..... 
} 
-1

प्लेस प्रत्येक जानकारी के दाहिने हाथ की ओर और हटाएं विकल्प रिकॉर्ड विवरण और JSON सारणी से हटा दिया जाना चाहिए क्लिक करने पर विकल्प को हटा दें।