select 태그 (filterBA)에서 click 이벤트가 발생하고 옵션이 동적으로 생성됩니다.jQuery는 생성 된 요소 속성을 가져옵니다. FF와 IE 문제
$("#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());
}
}
});
위대한 작품 ... 파이어 폭스에서,하지만 IE는 내 $ tgt 옵션으로 재구성하지 않습니다. 다음을 추가하여 확인합니다.
$("#filterBA").click(function(event){
var $tgt = $(event.target);
alert($tgt.is('option'));
...
그리고 그것이 false를 반환하든 상관 없습니다. 그러나 FF에서 그것은 사실 vi를 반환합니다. 옵션 중 하나를 선택한 상태에서 마우스를 누르고 있습니다. 나는 (같은 시스템에서) 내가 선택한 사용자 정의 선택 목록에 사용 된 div를 선택해야 할 때 동일한 접근법을 사용하기 때문에 나는 그것을 얻지 못한다. 그러나 클릭 이벤트가 태그에있을 때 작업.
아무 잘못 알겠 니?
btw. 여기에 옵션을 생성하는 내 기능입니다 :
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 바보, 내가 잊고 이후의 모든에 대해 "선택".. DOH! 그래서 내 태그에 내 새로운 이벤트가 있습니다 :
$("#filterBA").change(function(){
$('#filterBA option:selected').each(function(){
alert($(this).attr('id'));
});
});
이것은 선택 드롭 다운의 동적으로 생성 된 옵션에서 FF와 IE 모두에서 작동합니다.
내 문제에 대한 해결책을 찾았습니다. :)하지만 도움을 주셔서 감사합니다. –
아 - 해결책이 너무 분명합니다. 숲을 놓치지 만 나무는 놓쳤습니다. – mrtsherman