2012-07-04 1 views
0

У меня есть два выпадающих списка и их скрытое поле в каждом коде, чтобы добавить javascript onchange event по атрибуту.add и кнопку для выполнения некоторых динамических действий, таких как добавление элементов управления в время выполнения , когда я нажимаю кнопку, выпадающее меню кнопки сбрасывается. Для поддержания состояния у меня есть скрытое поле с раскрывающимся списком, я получаю выбранное значение из скрытого поля, но путем кодирования DDCity.Items.FindByValue, похоже, не работает. Может ли кто-нибудь помочь?Как программно изменить выбранный элемент в раскрывающемся списке, в то время как javascript onchange применяется asp.net

protected void Page_Load(object sender, EventArgs e) 
    { DDCountry.Attributes.Add("onChange", "javascript:BufferAddDDCountry('" + DDCountry.ClientID + "');"); 
      DDCity.Attributes.Add("onChange", "javascript:BufferAddDDCity('" + DDCity.ClientID + "');");} 
if (hiddenDDCityValue.Text != "0") 
     {     

DDCity.Items.FindByValue(hiddenDDCityValue.Text).Selected = true;// this dont work 

     } 

    if (!IsPostBack) 
    { this.populateCountry();populateCity();} 

Javascript код

<script type="text/javascript"> 
function BufferAddDDCountry(objDd) { 
      try { 
       var objHidden = document.getElementById('hiddenDDcountryValue'); 
       objHidden.value = document.getElementById(objDd).value; 
      } catch (e) { 
       alert(e); 
      } 
     }; 
     function BufferAddDDCity(objDd) { 
      try { 
       var objHidden = document.getElementById('hiddenDDCityValue'); 
       objHidden.value = document.getElementById(objDd).value; 
      } catch (e) { 
       alert(e); 
      } 
     }; 

    </script> 

ответ

0

я Atlast сделал это работает в JavaScript надеюсь, что это поможет другим здесь код
CodeBehind Pageload

ScriptManager.RegisterStartupScript(UpdatePanel, this.GetType(), "Dropdownselectedvaluechange", "javascript:setSelectedValue('" + DDCity.ClientID + "','" + hiddenDDCityValue.Text + "');", true); 

Javascript код

function setSelectedValue(dropdownList, selectedValue) { 
      var dropdown = document.getElementById(dropdownList); 
      for (var i = 0; i < dropdown.options.length; i++) { 
       if (dropdown.options[i].value == selectedValue) { 
        dropdown.options[i].value = selectedValue; 
        dropdown.options[i].selected = true; 

        break; 
       } 
      } 
      return; 
     }