问题描述
(function($){vartest=function(options){varids={};views={years:'datepickerViewYears',moths:'datepickerViewMonths',days:'datepickerViewDays'};testalert=function(){alert('Thisisatestalert');};vardefaults={foreground:'red',background:'yellow'};varopts=$.extend(defaults,options);return{test1:function(){returnthis.each(function(){alert(opts.foreground);//testalert();});},test2:function(){alert(opts.background);alert('Thisisatest2.Thisisonlyatest2.');}};}();$.fn.extend({test3:test.test1,test4:test.test2});})(jQuery);调用:$('#widgetCalendar').test3({foreground:'blue'});结果就只RED,不是BLUE,不知道为什么参数就是传不进去。
解决方案
解决方案二:
这是啥插件啊。看看官方demo。
解决方案三:
那你就把select传递进去~再获取option
解决方案四:
看得头晕。。不过一般参数不能直接传,都是调用方法修改
解决方案五:
自己写的一个小方法,就为了测试参数能不能传的进去
解决方案六:
是在实例化的时候传参,实际是做个日付空间,HTML时都好用,移植到C#工程里就不行,CSHTML
解决方案七:
哎。。不知所云。。还需要学习啊
解决方案八:
你这写的在哪里都不会好使的.根本就没有options传进去test内定义的默认属性是什么就一直会是什么.
解决方案九:
需要在$.fn.extend()里的test3:test.test1,改成test3:test.test1(options),吗?刚接触jquery不久,还望指教!
解决方案十:
问题解决了,多谢zyb134506提醒,但现在又有了另一个问题,把defaults换成这样就不好用了,locale里面哪里错了啊?vardefaults={foregrorounund:'red',backgd:'yellow',locale:{days:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日","日曜日"],daysShort:["日","月","火","水","木","金","土","日"],daysMin:["日","月","火","水","木","金","土","日"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["一","二","三","四","五","六","七","八","九","十","十一","十二"],weekMin:'週'}};
解决方案十一:
你的$.extend写错位置了应该移到test1方法里varopts=$.extend(defaults,options);return{test1:function(){varopts=$.extend(defaults,arguments[0]);