jQuery icheck插件在追加后无法正常工作

时间:2014-11-12 13:59:30

标签: javascript jquery html

我有ADD按钮,当我点击它时会附加以下内容:

<div class="checkbox">
    <label>
       <input type="checkbox"> Sample
    </label>
 </div>  

到另一个div(类名.new-option-content)。的 FIDDLE

我正在使用jquery icheck插件来设置复选框的样式。但是,当我追加时,我没有在复选框上看到icheck样式。为什么会这样呢?我正确地调用了这个函数,但为什么它在追加后没有显示它的样式?

任何帮助将不胜感激。谢谢

jQuery

// Radio and Checkboxes

 $('input').iCheck({
    checkboxClass: 'checkbox-default',
    radioClass: 'radio-default'
  }); 


$('body').on('click', '.add-new-option', function() { 
        $('.new-option-content').append('<div class="checkbox"> <label> <input type="checkbox"> Sample </label> </div>');

});

4 个答案:

答案 0 :(得分:2)

动态附加新项目后,必须再次执行isCheck功能。 该指令应该是单击处理程序方法的一部分:

$('body').on('click', '.add-new-option', function() { 
  $('.new-option-content').append('<div class="checkbox"> <label> <input type="checkbox"> Sample </label> </div>');
  $('input').iCheck({
    checkboxClass: 'checkbox-default',
    radioClass: 'radio-default'
  });
});

这是你JSFiddle updated

答案 1 :(得分:1)

再次为当前复选框再次运行检查功能。问题是您动态附加复选框。

Js:

  // Radio and Checkboxes
 $('input').iCheck({
    checkboxClass: 'checkbox-default',
    radioClass: 'radio-default'
  }); 


    $('body').on('click', '.add-new-option', function() { 
            $('.new-option-content').append('<div class="checkbox"> <label> <input type="checkbox"> Sample </label> </div>');
        var $lastCheckBox = $('.new-option-content').find('input').last();  
        console.log($lastCheckBox);
          $lastCheckBox.iCheck({
        checkboxClass: 'checkbox-default',
        radioClass: 'radio-default'
      }); 

    });

Js fiddle:http://jsfiddle.net/8w83nue3/

答案 2 :(得分:0)

$('body').on('click', '.add-new-option', function() { 
    $('.new-option-content').append('<div class="checkbox"><label><input type="checkbox"> Sample </label></div>');
    $('input').iCheck({
            checkboxClass: 'icheckbox_square-blue',
            radioClass: 'iradio_square-red',
            increaseArea: '20%' 
    });
});

尝试这个工作正常。

答案 3 :(得分:-1)

当你追加一些插件时总是尝试重新激活你的JS代码中的插件,否则它永远不会工作。