2015-09-07 98 views
0

我在页面上动态生成了一个jQuery选择控件。生成的选择在下面给出。无法使用jquery选择第一个动态生成的选择项

<select id="autoCompleteSelect" size="5" class="autoSelect"> 
    <option value="firstVal">firstVal</option> 
    <option value="secondVal">secondVal</option> 
</select> 

现在我想选择我的文本框的keyup事件这个选择控件的第一项。但我不能这样做。键盘代码是 -

 $('#searchInput').keyup(function (e) { 
      var a = $(".autoSelect").val(); 
      var myDDL = $('.autoSelect'); 
      myDDL[0].selectedIndex = 0; 
     }); 

但是,当我不生成动态选择,只是从头开始把它放在页面上。一切正常。什么可能是动态生成选择的解决方案。

+0

@Abhitalks怎么样?你能否给出解决方案的答案? – yogihosting

+0

再想一想,我想我无法理解你究竟在这里做什么?你可以在你的问题中加入相关的标记,并解释一下你试图达到的目标吗? – Abhitalks

回答

1

保持代码的形式类似于

$('someStaticSelector').on('keyup', 'DynamicAddedSelector', function (e) { 
      var a = $(".autoSelect").val(); 
      var myDDL = $('.autoSelect'); 
      myDDL[0].selectedIndex = 0; 
     }); 
+0

现在作品感谢 – yogihosting

1

如果用动态生成的内容的工作,最好是使用如下event delegation概念:

// document here can be replaced with closest parent which 
// created/ existed without dynamic load 
// provided context parameter to on function 
$(document).on('keyup','#searchInput', function (e) { 
    var a = $(".autoSelect").val(); 
    var myDDL = $('.autoSelect'); 
    myDDL[0].selectedIndex = 0; 
}); 

也请阅读.on()

+0

现在的作品。谢谢。 – yogihosting

+0

很高兴听到您的声音,欢迎您! –

相关问题