2015-09-07 72 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

很高興聽到您的聲音,歡迎您! –

相關問題