<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的值,第二次就可以。有没有什么方法解决这种问题或者换个方法,求大神指导!!!
添加回答
举报
0/150
提交
取消