2013-07-23 4 views
15

मैं iCheck का उपयोग करके "सभी का चयन करें" को कार्यान्वित करना चाहता हूं।फ़ंक्शन "सभी का चयन करें" और iCheck

$(function() { 
    $('input').iCheck(); 
    $('input.all').on('ifChecked ifUnchecked', function(event) { 
     if (event.type == 'ifChecked') { 
      $('input.check').iCheck('check'); 
     } else { 
      $('input.check').iCheck('uncheck'); 
     } 
    }); 
    $('input.check').on('ifUnchecked', function(event) { 
     $('input.all').iCheck('uncheck'); 
    }); 
}); 

फिडल: jsfiddle.net/N7uYR/1/

मैं चाहता हूँ कि जब "बॉक्स 1 जाँच करें", "बॉक्स 2 की जाँच करें", "बॉक्स 3 की जाँच करें"

यह मैं अब तक क्या किया है है , "चेक बॉक्स 4" चुना गया है, "सभी का चयन करें" भी चुना जाता है।

वास्तव में इस तरह

: jsfiddle.net/ivanionut/N7uYR/

मैं यह कैसे कर सकते हैं?

+0

यह आप पहले से ही लगता है इसे लागू किया है, क्या आप उस उदाहरण कोड से कुछ अलग हैं जिसे आप रखना चाहते हैं? – MathSquared

+0

@ MathSquared11235 मैं इसे ऐसा करना चाहता हूं: http://jsfiddle.net/ivanionut/N7uYR/ ध्यान से देखें। यदि मैं "चेक बॉक्स 1" 2, 3 का चयन करता हूं, "बॉक्स 4 चेक करें" स्वचालित रूप से "सभी का चयन करें" का चयन करेगा – Ivan

+0

आपके पास "बिल्कुल इस तरह" में मौजूद कोड में आपकी समस्या हल हो रही है। आप उस कोड का उपयोग क्यों नहीं कर सकते? – MathSquared

उत्तर

34

यहां मैं क्या आया हूं।

$(function() { 
    var checkAll = $('input.all'); 
    var checkboxes = $('input.check'); 

    $('input').iCheck(); 

    checkAll.on('ifChecked ifUnchecked', function(event) {   
     if (event.type == 'ifChecked') { 
      checkboxes.iCheck('check'); 
     } else { 
      checkboxes.iCheck('uncheck'); 
     } 
    }); 

    checkboxes.on('ifChanged', function(event){ 
     if(checkboxes.filter(':checked').length == checkboxes.length) { 
      checkAll.prop('checked', 'checked'); 
     } else { 
      checkAll.removeProp('checked'); 
     } 
     checkAll.iCheck('update'); 
    }); 
}); 

jsFiddle

+0

ठीक है , धन्यवाद! मैं वही चाहता था। – Ivan

0

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

<div class='allchecked'> 
<input type="checkbox"/> 
<input type="checkbox"/> 

और jQuery का उपयोग कर attr स्थापित करने के लिए के लिए ("जाँच") या नहीं।

+0

आप '.attr()' का उपयोग नहीं करेंगे, आप ['.prop()'] (http://api.jquery.com/prop/) का उपयोग करेंगे: '.prop (" चेक ")' – Dom

0

इस मुद्दे भर में मामला किसी और stumbles में, स्वीकार किए जाते हैं जवाब मुझ पर के लिए गतिशील रूप से उत्पन्न चेक बॉक्स काम नहीं कर रहा था। थोड़ा Dzulqarnain नासिर से

https://github.com/fronteed/iCheck/issues/44

7

किसी को अब भी इस के साथ संघर्ष कर लिए, मैं स्वीकार किए जाते हैं जवाब https://stackoverflow.com/a/17821003/3061836 बदल दिया है): मैं यहाँ समाधान मिल गया।

मैं prop विधि के लिए removeProp विधि बदल दिया है:

checkAll.removeProp('checked'); 

checkAll.prop('checked', false); 

को बदल दिया जाता है removeProp विधि मेरे लिए काम नहीं किया था, लेकिन गलत पर जाँच की संपत्ति की स्थापना काम किया।

लेखन के समय, मैं jQuery 2.1.4 के साथ iCheck 1.0.2 का उपयोग कर रहा

संबंधित मुद्दे