惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 热门话题
Stack Overflow Blog
Stack Overflow Blog
B
Blog
WordPress大学
WordPress大学
Project Zero
Project Zero
P
Palo Alto Networks Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
T
Tailwind CSS Blog
Forbes - Security
Forbes - Security
F
Full Disclosure
SecWiki News
SecWiki News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hacker News: Ask HN
Hacker News: Ask HN
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Fortinet All Blogs
Cisco Talos Blog
Cisco Talos Blog
G
Google Developers Blog
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
O
OpenAI News
Spread Privacy
Spread Privacy
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Cybersecurity and Infrastructure Security Agency CISA
S
Securelist
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
IT之家
IT之家
U
Unit 42
腾讯CDC
S
Security Affairs
C
Cisco Blogs
Schneier on Security
Schneier on Security
The Last Watchdog
The Last Watchdog
B
Blog RSS Feed
宝玉的分享
宝玉的分享
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security @ Cisco Blogs
Cyberwarzone
Cyberwarzone
T
The Blog of Author Tim Ferriss

博客园 - 小水坝

使用双分派解决领域实体和外部机制通信问题 搞定thrift双向消息 读《软件需求最佳实践》有感 【thrift】vc中使用thrift中文字符串乱码问题解决 __declspec(dllimport)的小秘密(转) 跨线程send message 【boost】使用serialization库序列化子类 【boost】ptree 读写中文的问题 动态创建TeeChart的简便方法 【MFC】动态创建CMFCToolbar图标不显示问题 【boost】使用装饰者模式改造boost::thread_group 【VC】VC工具栏图标合并工具(非tbcreator和visual toolbar) 【boost】使用lambda表达式和generate_n生成顺序序列 【boost】BOOST_LOCAL_FUNCTION体验 【boost】MFC dll中使用boost thread的问题 【转帖】C++编译原理 资料 IE6,7下password框长度变短问题 dwz局部表格分页 dwz中使用flot,js报表等js插件
dwz中combox的value问题
小水坝 · 2011-06-28 · via 博客园 - 小水坝

dwz手册上说combox设置value=xxx,代表选择项。实际应用中发现总是会显示第一项,打开dwz.combox.js代码:

 1 var $this = $(this).removeClass("combox");
 2                 var name = $this.attr("name");
 3                 var value= $this.attr("value");
 4                 var label = $("option[value=" + value + "]",$this).text();
 5                 var ref = $this.attr("ref");
 6                 var param = $this.attr("param");
 7                 var cid = Math.round(Math.random()*10000000);
 8                 var select = '<div class="combox"><div id="'+ cid +'" class="select"' + (ref?' rel="' + ref + '"' : ''+ ' name="' + name + '"' + (param ? ' param="' + param+'"' : ''+ '>';
 9                 select += '<a href="javascript:" class="'+$this.attr("class")+'" name="' + name +'" value="' + value + '" change="' + ($this.attr("change")?$this.attr("change"):"")+ '">' + label +'</a></div></div>';
10                 var options = '<ul class="comboxop" id="op'+ cid +'">';
11                 $("option", $this).each(function(){
12                     var option = $(this);
13                     options +="<li><a class=\""+ (value==option[0].value?"selected":""+"\" href=\"#\" value=\"" + option[0].value + "\">" + option[0].text + "</a></li>";
14                 });

上面第3行用$this.attr("value");本意是想取出select里value属性值,但是对于select,$this.attr("value")取到的却是当前选择的option值,对于刚刚加载的select标签来说,这个值永远是第一个option的值,这也就导致了第13行中永远是第一个option加上了selected属性。

解决这个问题的办法也很简单,就是换一个属性。这里我用ShowValue属性示例,select这样写<select class="combox" ShowValue="abc" />,js中将$this.attr("value");改为$this.attr("showvalue")?$this.attr("showvalue"):$this.val();,这样就解决了combox的问题。