Сброс раскрывающихся списков с использованием JavaScript - PullRequest
1 голос
/ 23 сентября 2010

У меня есть следующий сценарий - несколько выпадающих списков и текстовое поле.

Я хотел бы «сбросить» эти выпадающие значения до их исходного значения, когда пользователь нажимает на текстовое поле:

Javascript:

function ResetDropDowns() 
{
    var ddlSuppliers = document.getElementById('<%=ddlSuppliers.ClientID%>');
    var ddlResponse = document.getElementById('<%=ddlResponse.ClientID%>');
    var ddlImportStatus = document.getElementById('<%=ddlImportStatus.ClientID%>');

    ddlSuppliers.selectedIndex = -1;
    ddlResponse.selectedIndex = -1;
    ddlImportStatus.selectedIndex = -1;  
}

Код позади:

tbxAutoCompleteSupplier.Attributes.Add("onFocus", "return ResetDropDowns();");  

protected void ddlSuppliers_DataBound(object sender, EventArgs e)
{
    ddlSuppliers.Items.Insert(0, 
    new ListItem("--Please Select Supplier--", "0"));
}

Однако, похоже, это не сработает.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 23 сентября 2010

это на самом деле из-за конфликта между этим javascript и jquery нашей CMS - все отсортировано сейчас!

Разрешение:

Я обернул элементы управления в div (называемый оболочкой) и затем применилединообразный элемент управления в указанном div.

function pageLoad(sender, args) {
        if (args.get_isPartialLoad()) {
            $("#wrapper select, #wrapper span, #wrapper input").uniform();
        }
    }

Это обеспечивает сохранение CSS.

Спасибо за предложения.

0 голосов
/ 23 сентября 2010

Почему вы меняете индекс на -1, когда ваш элемент по умолчанию имеет индекс 0?

ddlSuppliers.selectedIndex = 0;
ddlResponse.selectedIndex = 0;
ddlImportStatus.selectedIndex = 0; 

Должен сделать трюк.

Обновление

Можете ли вы проверить, установлены ли выпадающие списки? Для отладки метода ResetDropDowns () просто введите ключевое слово debugger в начале. Это сломает компилятор, чтобы вы могли пошагово выполнить код.

Пример:

function ResetDropDowns() 
{
    debugger; //compiler will break here
    var ddlSuppliers = document.getElementById('<%=ddlSuppliers.ClientID%>');
}
...