Событие не запускается для выпадающего в Chrome Extension с использованием jQuery - PullRequest
0 голосов
/ 10 января 2012

вот мой код:

$("input[name=myText]").replaceWith("<input name='myText' type='text'/>" +
    "Select a number: <select name='numberSelect' id='numberSelect'>" +
    "<option value=''></option>" +
    "<option value='.5'>.5</option>" +
    "<option value='1'>1</option>" +
    "<option value='1.5'>1.5</option>" +
    "<option value='2'>2</option>" +
    "</select>"
    );

$("#numberSelect").change(function () { alert('hello') });

Я просто не могу получить событие выбора элемента в раскрывающемся списке для запуска.

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

Ответы [ 2 ]

0 голосов
/ 10 января 2012

Попробуйте использовать $ .live http://api.jquery.com/live/

$("#numberSelect").live("change", function(){
  alert('hello')
});

UPDATE

Как упомянуто ниже Авраамом, начиная с jQuery 1.7, метод .live () устарел. Используйте .on (), чтобы прикрепить обработчики событий. Таким образом, новый код должен быть:

$("#numberSelect").on("change", function(){
  alert('hello')
});
0 голосов
/ 10 января 2012

Попробуйте это

$("input[name=myText]").replaceWith($("<input name='myText' type='text'/>" +
    "Select a number: <select name='numberSelect' id='numberSelect'>" +
    "<option value=''></option>" +
    "<option value='.5'>.5</option>" +
    "<option value='1'>1</option>" +
    "<option value='1.5'>1.5</option>" +
    "<option value='2'>2</option>" +
    "</select>").find('select').change(function () { alert('hello') }).end()
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...