<input type="text" class="form-control" onfocus="inputFocus(this);" onblur="matterChange(this);"> <select multiple class="form-control"> <option value="">BAX</option> <option value="">sfv</option> <option value="">AA</option> </select> function inputFocus(obj){/*input获得焦点事件*/ $(obj).next().show(); } function matterChange(obj){/*input失去焦点事件*/ var selectVal=$(obj).next().children("option:selected").text(); $(obj).val(selectVal); var inputVal=$(obj).val(); if(inputVal != null && inputVal.length > 0 && inputVal == selectVal){ $(obj).next().hide(); }else{/* 没有选中值 */ $(obj).val(""); $(obj).next().hide(); } } 想要实现的效果是:input获得焦点时,select显示,当选择了option时,将选择option的值传到input,并且隐藏input。但是在没有选中option时可以点击input和select以外的地方使select消失 现在基本能实现这种效果。只是在火狐可以。在谷歌,360,IE上第一次点击获取不到option的值,第二次就可以。有没有什么方法解决这种问题或者换个方法,求大神指导!!!
相关分类