0

pickadate.jsプラグインを使用しています。

私がやりたいことは、チェックボックスがチェックされた後に日付コンテナをトリガーすることですが、どういうわけかうまくいきません。チェックボックスイベント関数の外でうまく機能するので、スコープ変数の外で何かをしなければならないと思います。

公式文書:

こちらとこちらもご覧ください

JS:

var pick = $('#chosen').pickadate({format:'dd.mm.yyyy'});
var picker = pick.pickadate('picker');
//picker.open();
// it works here

$(":checkbox").change(function() {
    if(this.checked) {

        picker.open();
        // it doesnt work here
        event.stopPropagation();

    console.log('checkbox triggers!');

    }
});

JSFIDDLE

4

2 に答える 2

1

.on()を とともに使用 しclickます。(のように(.on("event", fn)))

$(":checkbox").on('click', function () {
    if (this.checked) {
        picker.open();
        event.stopPropagation();
    }
});

フィドル

于 2014-11-11T12:00:53.767 に答える
1

トリガーメソッドを使用しましたが、意図したとおりに機能すると思います:

$( "input[type=checkbox]" ).on( "click", function(){

    $(":checkbox").trigger("change");

} );

フィドル

于 2014-11-11T11:56:58.787 に答える