作者knives ()
看板Ajax
标题[问题] 怎麽修改option的text
时间Thu Dec 19 18:17:21 2013
我有一个需求需要 让 <select> 如果没有选择的时候
将里面的option 里面的text只显示前两个字
当该select 被选择到的时候,又会恢复原来的字元
然後离开select 的时候,又只显示前两个字
我目前是这样写
$('option').each(function(){ //一开始载入的时候,把原来的字元存到old_text
var old_text = $(this).text();
$(this).attr('old_text',old_text);
$(this).text(old_text.substring(0,2));
});
$('select').click(function(){ //当按下select,还原字元
$(this).children('option').each(function(){
//$(this).attr('old_text',old_text);
$(this).text($(this).attr('old_text'));
});
});
$('select').change(function(){
$(this).children('option').each(function(){
$(this).text($(this).attr('old_text').substring(0,2));
});
});
$('select').blur(function(){//离开的时候,又再变成两个字
$(this).children('option').each(function(){
$(this).text($(this).attr('old_text').substring(0,2));
});
});
问题来了,当我选择了某一个选项之後,并不会马上 做blur或change
一定得我要手动点网页其他地方,才会变成两个字
请问该怎麽改才好
谢谢回覆
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 42.75.115.37
2F:→ akiratw:不过我不知道你原本的错在哪XD 12/19 21:45
3F:推 DeathWatch:绑onchange? 12/19 21:49
4F:→ knives:好了,可是还是不知道那里错 12/20 08:21