2010-03-29 3 views
5

Я использую Jeditable для редактирования на месте. Один из элементов управления, с которыми я работаю, имеет тип select. Когда пользователь нажимает на поле, следующее select управления генерируется:jQuery + Jeditable - обнаружение при выборе смены

<div id="status" class="editable_select"> 
    <form> 
     <select name="value"> 
      <option value="Active">Active</option> 
      <option value="Inactive">Inactive</option> 
     </select> 
     <button type="submit">Save</button> 
     <button type="cancel">Cancel</button> 
    </form> 
</div> 

То, что я пытаюсь выяснить, как использовать JQuery для обнаружения, когда этот контроль select изменяется, тем более, что он не имеет атрибут идентификатора.

Это то, что я до сих пор, но это событие не получает срабатывает:

$(document).ready(function() { 
    $('#status select').change(function() { 
     alert("Change Event Triggered On:" + $(this).attr("value")); 
    }); 
}); 

UPDATE

Обновление с JQuery 1.4.2 решить мою проблему наряду с использованием Мэтта решение.

ответ

7

Возможно, вы найдете его, потому что поле выбора добавлено на страницу после его загрузки (и после того, как произойдут привязки событий).

Вы все еще можете захватить события изменения, если это имеет место при использовании live

$(document).ready(function() { 
    $('#status select').live('change', function() { 
     alert("Change Event Triggered On:" + $(this).attr("value")); 
    }); 
}); 

Заметим, что поскольку 1.7 однако, метод on() является предпочтительным способом связывания обработчиков событий. Вышеупомянутый эквивалент;

$(document).ready(function() { 
    $(document).on('change', '#status select', function() { 
     alert("Change Event Triggered On:" + $(this).attr("value")); 
    }); 
}); 
+0

Получил его на работу, спасибо. Однако это событие не вызывает пузырь в IE по какой-то причине. Мысли? –

+0

jQuery должен сделать так. Какой код вы используете, это не работает? – Matt

+0

@Matt: Я использую предоставленный вами код - он отлично работает в других браузерах, кроме IE8. –

Смежные вопросы