JQuery UI с Jeditable - PullRequest
       25

JQuery UI с Jeditable

3 голосов
/ 13 декабря 2011

Я пытаюсь этот код:

<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({

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

1 Ответ

3 голосов
/ 13 декабря 2011

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

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

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