У меня есть событие click на моем теге select (filterBA), и затем параметры генерируются динамически.
$("#filterBA").click(function(event){
var $tgt = $(event.target);
if($tgt.is('option')){
if($tgt.attr('id') != 0){
sortRowsByBA($tgt.attr('id'));
}else{
appendOrReplaceRows("replace", getSortColumn(), getAscdesc());
}
}
});
Это прекрасно работает ... в Firefox, но IE не будет использовать мой $ tgt в качестве опции.Я проверяю, добавляя:
$("#filterBA").click(function(event){
var $tgt = $(event.target);
alert($tgt.is('option'));
...
И независимо от того, что он возвращает false.Но в FF он возвращает true, когда я удерживаю мышь и выбираю один из вариантов.Я не понимаю, так как я использую тот же подход, когда мне нужно выбрать div, используемый в пользовательском списке выбора, который я создал (в той же системе), но когда событие click находится в теге, оно не будетработа.
Кто-нибудь знает, что может быть не так?
кстати.вот моя функция для генерации опций:
function pupulateBA(){
$selectTag = $('#nav select').html('<option id="0">Select business area</div>');
$.ajax({
url: "ajaxBAs.cgi",
dataType: 'json',
success: function(jsonData){
for(var businessIndex in jsonData){
$selectTag.append("<option id='"+jsonData[businessIndex].id+"'>"+jsonData[businessIndex].name+"</option>");
}
},
error: function(){
alert('Ajax error retriving business areas to frontpage.');
}
});
}
Я нашел решение:
ofc im идиот, так как я забылвсе о ": выбрано" .. DOH!Итак, вот мое новое событие на моем теге:
$("#filterBA").change(function(){
$('#filterBA option:selected').each(function(){
alert($(this).attr('id'));
});
});
Это работает как с FF, так и с IE для динамически создаваемых опций в выпадающем меню выбора.