jquery uiウィジェットオプションをデフォルトで文字列にしたいのですが、オブジェクトでオーバーライドできるようにしたいのです。これを行うと、実際には文字列が奇妙な方法でオブジェクトに変換され、渡されたオブジェクトで拡張されます。
$.widget("ui.test", {
options: {
anOption: "a,b,c"
},
_create: function() {
console.log(this.options);
}
});
$('div').test({
anOption: {
a: 'A'
}
});
オプションをウィジェットに渡すことをスキップすると、_createメソッドで文字列として受信されます。オブジェクトを渡すと、奇妙な動作が発生します。chromes jsコンソールログでこれを取得しますが、これは私が望むものではありません。
Object
anOption: Object
0: "a"
1: ","
2: "b"
3: ","
4: "c"
a: "A"
どうすればこれを解決できますか?
jsfiddle: http: //jsfiddle.net/MatteS75/s9wK2/