Добавление jQuery UI Spinner динамически

У меня проблемы с виджетом Spinner пользовательского интерфейса jQuery. Он отлично работает, когда ввод добавляется в HTML; однако, когда я добавляю вход динамически, он не работает. Я создал пример не работающего счетчика, когда он добавляется динамически здесь: пример jsfiddle

function injectSpinner(){
    console.log("Injecting Spinner");

    var p = document.createElement('p');
    var label = document.createElement('label');
    var text = document.createTextNode("Select a value:");
    var input = document.createElement('input');

    label.appendChild(text);
    label.setAttribute("for", "spinner");
    p.appendChild(label);

    input.setAttribute("id", "spinner");
    input.setAttribute("name", "value");
    p.appendChild(input);

    $("#spinner").spinner();

    $("#moduleArea").append(p);
};

Я использовал этот метод со многими другими виджетами пользовательского интерфейса jQuery, и, похоже, проблем нет.

1 ответ

Решение

Входные данные должны быть частью DOM, прежде чем вы вызовете.spinner() для него.
Поэтому, пожалуйста, позвоните $("#moduleArea").append(p); до $("#spinner").spinner();
Я обновил вашу скрипку соответственно.

Другие вопросы по тегам