我有一个需求需要 让 <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
一定得我要手动点网页其他地方,才会变成两个字
请问该怎么改才好
谢谢回复