2014-04-05 26 views
1

我有那個意思是自動完成兩個標籤的輸入。順便說一下,輸入是附加的。爲什麼我的jQuery UI自動填充小部件不工作?

輸入被附加

htmlsignup += "<input placeholder='Ваш пол' type='text' value='' class='signup_sex_input' name='signup_sex_input' id='signup_sex_input'/><br>"; 

自動完成部分

$(document).on('keyup',"input#signup_sex_input",function(){ 
(function() {var tags_for_autocomplete = ["Мужской","Женский"]; 
$("input[name='signup_sex_input']").autocomplete({ 
     source: tags_for_autocomplete 
}); 
}); 
}); 

你覺得我做錯了嗎?我把ui庫連接到了頁面上。

回答

0

你並不需要處理keyup事件 - 自動完成管理所有的這對你:

嘗試用這種替代你的函數:

$(function() { 
    var tags_for_autocomplete = ["Мужской","Женский"]; 
    $("#signup_sex_input").autocomplete({ 
     source: tags_for_autocomplete 
    }); 
    }); 

Fiddle here

編輯

Working fiddle adding to the DOM with jQuery

$(function() { 
    var htmlsignup = "<input placeholder='Ваш пол' type='text' value='' class='signup_sex_input' name='signup_sex_input' id='signup_sex_input'/><br>"; 

    $('body').append(htmlsignup); 
    var tags_for_autocomplete = ["Мужской","Женский"]; 
    $("input[name='signup_sex_input']").autocomplete({ 
     source: tags_for_autocomplete 
    }); 
    }); 
+0

是的,它的工作完美,但仍然有問題,因爲它不會在我的網站上工作。我相信問題在於它已被追加,我的意思是輸入元素。我知道附加元素是使用'on'函數調用的。有沒有其他的方式可以讓事情奏效?該輸入已被JQuery追加。 – OlegArsyonov

+0

您是否可以更新您的問題以顯示將輸入注入DOM的代碼?確保在添加到DOM後附加了自動完成處理程序 – geedubb

+0

請參閱我的編輯,其中顯示了動態添加到DOM的示例 – geedubb

相關問題