2

numbersと等しくなるように設定しようとしていdigitsます。どうやってやるの?試し'numbers' : digitsましたが、うまくいきません。

// Checks if the checkbox is checked or not
$('#digits').change(
  function(){
    if ($(this).is(':checked')) {
      digits = true;
    } else {
      digits = false;
    }
});

// When the button "apply" is pressed it sets numbers equal to digits and calls the function test
$(document).ready(function(){       
    $('#apply').test({
        'numbers': digits // This is where I'm stuck
    });
});

(function($){
  var methods = {
    init : function( options, callbacks) {
      var settings = $.extend({
        'numbers': true,
    }, options);
    ...
    ...
    ...
    etc
    $.fn.test= function(method) {
      alert("SUCCESS");
      ...
      ...    
    };
})(jQuery);

作業例 (JSFIDDLE)

4

1 に答える 1

2

digitsプラグインを初期化すると、その段階での値が与えられます。あなたが投稿したコードから、私はそれがundefined. チェックボックスを介して変更されるたびに、プラグインの値を更新する必要があります。

簡単な修正は、プラグインを初期化するコードをchangeチェックボックスのハンドラーに移動することですが、プラグインを一度初期化し、初期化後にプラグインの値を更新できるように設定メソッドを実装することも検討してください。

   // Checks if the checkbox is checked or not
    $('#digits').change(
      function(){

        $('#apply').test({
            'numbers': this.checked 
        });
    });
于 2013-11-03T23:44:11.287 に答える