Я уверен, что это не проблема sharepoint 2007, но id скорее охватывает все мои базы.
Я консультируюсь с крупной компанией, разрабатывающей решение для распределенных сетей для их интранета. Одна из моих задач - переключить обычный выпадающий список в представлении списка sharepoint 2007 с чем-то, что имеет тип вперед и фильтрацию. Поэтому я выбрал комбинированный список jquery.
Теперь во всем, кроме ie6, этот комбинированный список работает, и событие onchange также работает. Мой процесс таков:
function diidFilterLinkTitleNoMenuOnChange()
{
FilterField("{9232EB4D-2E5D-40D3-A1C0-818CC21AC839}","LinkTitleNoMenu",this._selOption.value, this.selectedIndex);
}
$(document).ready(function(){
window.dhx_globalImgPath='../_layouts/Intranet.Portal.Custom/PeopleChangesFiles/imgs/';
var y = document.getElementById('diidFilterLinkTitleNoMenu');
if(y != null)
{
$('#diidFilterLinkTitleNoMenu').change(function(){}).attr('onchange',function(){});
var z = dhtmlXComboFromSelect('diidFilterLinkTitleNoMenu');
z.enableFilteringMode(true);
z.attachEvent("onchange",diidFilterLinkTitleNoMenuOnChange);
y.parentNode.removeChild(y);
}
})
Я удаляю текущее событие onchange перед тем, как превратить список выбора в комбинированный список, а затем переназначаю другое событие onchange.
Насколько я могу судить в ie6, происходит то, что старое событие onchange все еще там, все еще прикреплено и запускается первым, поскольку оно нарушает код, и мое событие не запускается.
Есть ли особый способ удаления событий в ie6? Или я делаю это неправильно?