Пользовательский интерфейс Jquery с Jeditable

Я пробую этот код:

<script type="text/javascript">
$(document).ready(function() {
    $('.edit').editable('http://www.example.com/save.php', {
        indicator : 'Saving...',
        tooltip   : 'Click to edit...',
        submit    : 'OK',
        cancel : 'Cancel',
    });

    $('#cv_cd > input').autocomplete({
        source: 'location.php',
        minLength: 2

    });
});
</script>


<div class="edit" id="cv_cd">Type</div>

Этот код правильно работает с <inputs />, но с jeditable запрос не отправляется, когда я что-то набираю.

После поиска кода с помощью firebug jeditable также создает поле input, однако, видимо, что-то вроде этого не работает $('#cv_cd > input').autocomplete({

Есть идеи ? Спасибо


person anvd    schedule 12.12.2011    source источник


Ответы (1)


.autocomplete() не является активным, поэтому он привязывается только к элементам, которые существуют во время вызова.

В вашем случае вы захотите использовать live или, что предпочтительнее, delegate, чтобы учесть тот факт, что элемент input не будет существовать, пока пользователь не щелкнет по нему. Зная, что элементы с автозаполнением имеют класс ui-autocomplete-input, вы можете сделать что-то вроде следующего вместо исходного .autocomplete():

$("#cv_cd").delegate(".ui-autocomplete-input", "focus", function (event) {
    $(this).autocomplete({
        source: 'location.php',
        minLength: 2
    });
});
person William Niu    schedule 13.12.2011