jQuery - 选择/选项+点击/模糊冲突的问题

时间:2012-05-09 09:34:42

标签: jquery select click option blur

情况如下: 我有一个div的垂直菜单。每个div都有一个id。当我点击div时,它会使用以下方法在div中添加一个选择列表:

$ ( '#mydiv' ).on ( 'click', function ( ) {
  var select = '<select name="menuList"><option value="test">test</option>...</select>';
  $ ( '#mydiv' ).html ( select );
} ) ;

我想做的很简单。我想在选择选项时将用户选择定义为文本。我试过这个,但它不起作用:

$ ( 'select[name="menuList"]').on ('blur', function ( ) {
  $ ( '#mydiv' ).html ( $ ( 'select[name="menuList"] option:selected' ).val ( ) );
} );

此外,另一个问题是,当我从列表中选择一个选项时,所选字段不会保留用户选择,它会返回列表的第一个位置。基本上,问题不是真正的问题,因为我立即用包含他选择的文本字段替换列表,但我想了解为什么会这样。

1 个答案:

答案 0 :(得分:2)

因为您在click事件上设置HTML(破坏性),所以每次单击div时都会替换html。你最好在document.ready上设置html,然后使用hide / show或者创建一个你设置内容时设置的标志,并在每次点击时检查它,这样你就不会重新创建菜单了。