2015-04-04 1 views
0

У меня есть HTML Выберите и скрытый контроль Asp.Net этикетки в моей веб-странице ASPX:JQuery DropDownList конфликт при установке он выбранное значение

<select id="txtSubSector" name="txtSubSector"></select> 
<asp:Label ID="lblSubSector" ClientIDMode="Static" runat="server" style="display:none" ></asp:Label> 

Выбор: контроль был заполнен моей функции JQuery. Теперь я пытаюсь установить это выбранное значение с JQuery:

var subs = $('#lblSubSector').text(); 
$('#txtSubSector').val(subs); 

Затем, не изменяет выбранное значение выбора. Но когда я добавляю только функцию alert() до последнего кода, конфликта нет и он успешно работает. Например:

var subs = $('#lblSubSector').text(); 
alert(subs); 
$('#txtSubSector').val(subs); 

Может ли кто-нибудь сказать мне, что я установил значение без функции предупреждения?

Примечание: Оба элемента select и asp: Управление меткой находятся в элементе управления UpdatePanel. Я написал свои функции jquery в функции jQuery pageLoad(), чтобы предотвратить конфликты jquery с UpdatePanel. И все мои другие функции здесь успешно работают.

UPDATE:

Мой файл ASPX здесь:

<%@ Page EnableEventValidation="true" Title="" Language="C#" MasterPageFile="~/mpClient.master" AutoEventWireup="true" CodeFile="editjob.aspx.cs" Inherits="editjob" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> 
    <script type="text/javascript" src="style/jquery-1.11.2.min.js"></script> 

    <link rel="stylesheet" type="text/css" href="style/style.css" /> 
    <link rel="stylesheet" type="text/css" href="cp/style/style-cp.css" /> 

    <link rel="stylesheet" href="style/jquery-ui-1.11.4.custom/jquery-ui.css" /> 
    <link rel="stylesheet" href="style/jquery-ui-1.11.4.custom/jquery-ui-timepicker-addon.css" /> 
    <script src="style/jquery-ui-1.11.4.custom/jquery-ui.js"></script> 
    <script src="style/jquery-ui-1.11.4.custom/jquery-ui-timepicker-addon.js"></script> 
    <script type="text/javascript"> 
     jQuery("document").ready(function ($) { 
      $('.blockGroup input, select').change(function() { 
       $(this).removeClass('make-ann-input-highlight'); 
       $('.lblValidation').hide(200); 
      }); 
      $('#txtPostedDate').click(function() { 
       return false; 
      }); 
     }); 
     function fillSubSectors() { 
      $('#txtSubSector').empty(); 
      var typeid = $('#txtSector').val(); 
      getSubSectors(typeid); 
     }; 
     function getSubSectors(typeid) { 
      $.ajax({ 
       type: 'POST', 
       url: 'editjob.aspx/getSubSectors', 
       data: '{ "typeid" : "' + typeid + '" }', 
       contentType: 'application/json; charset=utf-8', 
       dataType: 'json', 
       success: function (result) { 
        for (var i = 0; i < result.d.length; i = i + 2) { 
         var newOption = "<option value=" + result.d[i] + ">" + result.d[i + 1] + "</option>"; 
         $("#txtSubSector").append(newOption); 
        } 
       }, 
       error: function() { 
        $('#lblStatus').html('Məlumat sorğusunda problem yarandı..'); 
       } 
      }); 
     }; 
     // bu pageLoad funksiyasi icine yazanda UpdatePanel icinde olanlar isleyir 
     function pageLoad() { 

      $('#txtSector').change(function() { 
       fillSubSectors(); 
      }); 
      $('#txtSector').ready(function() { 
       fillSubSectors(); 
      }); 
      //$('#txtSubSector').ready(function() { 

      //}); 
      $.when(fillSubSectors).done(function() { 
       var subs = $('#lblSubSector').text(); 
       $('#txtSubSector').val(subs); 
      }); 
     }; 

     function scrollMove(id) { 
      $(id).removeClass('make-ann-input').addClass('make-ann-input-highlight'); 
      $('.lblValidation').show(200); 
      $('html, body').animate({ scrollTop: $(id).offset().top - 150 }, 700); 
     }; 
     function showTrueMessage() { 
      setTimeout(function() { $('#jobAdded').fadeIn(1500); setTimeout(function() { $('#jobAdded').fadeOut(1500); }, 3500); }, 0); 
     }; 
     function showFalseMessage() { 
      setTimeout(function() { $('#msgError').fadeIn(1500); setTimeout(function() { $('#msgError').fadeOut(1500); }, 3500); }, 0); 
     }; 
     function showPicErrorMessage() { 
      setTimeout(function() { $('#msgPicError').fadeIn(1500); setTimeout(function() { $('#msgPicError').fadeOut(1500); }, 3500); }, 0); 
     }; 
     function clearInputs() { 
      $("#panel1 :input").val(''); 
      $("#panel2 :input").val(''); 
      $(".container").find("select").prop('selectedIndex', 0); 
     }; 
     $(function() { 
      $("#txtPostedDate, #txtLastApplyDate").datetimepicker({ 
       showButtonPanel: true, 
       dateFormat: 'dd/mm/yy' 
      }); 
     }); 

     // bu funksiya heleki isledilmir 
     function showEditDiv() { 
      $("#divEnterIdentNo").fadeOut(500); 
      setTimeout(function() { $("#divEditAnn, #divSaveInfo").fadeIn() }, 500); 
      // $("#divAddedCategory").fadeIn(); 
      // setTimeout(function() { $("#divAddedCategory").fadeOut() }, 3000); 
     }; 
     //bu isleyir 
     function showEditDivNoEffect() { 
      $("#divEnterIdentNo").hide(); 
      $("#divEditAnn, #divSaveInfo").show(); 
     }; 

    </script> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> 
    <!-- Yerləşdirildi Və Error Mesajları --> 
    <div id="jobAdded" class="msg-job-added">İş Elanı Müvəffəqiyyətlə Yeniləndi</div> 
    <div id="msgError" class="msg-error">Yenilənmə Zamanı Problem Yarandı</div> 
    <div id="msgPicError" class="msg-error">Yenilənəcək Şəkil Faylı Seçilməyib</div> 
    <!-- --> 
    <div class="container" style="margin-top: 30px"> 
     İş Elanını Yenilə 
    </div> 
    <hr /> 
    <asp:UpdatePanel ID="upEditAnn" runat="server" style="min-height:300px"> 
     <ContentTemplate> 
      <!-- Identifikasiya nomresini daxil etme bolmesi --> 
      <div id="divEnterIdentNo" class="container" style="text-align: center"> 
       <asp:TextBox ID="txtIdentificationNo" runat="server" Style="height: 24px; width: 200px; font-size: 15px"></asp:TextBox> 
       <asp:Button ID="btnGetAnnouncement" ClientIDMode="Static" runat="server" CssClass="btn-add-ann" Text="Redaktə" OnClick="btnGetAnnouncement_Click" /> 
      </div> 
      <!-- --> 

      <div id="divEditAnn" class="container" style="display:none"> 
       <asp:Panel ID="pnlEditAnn" runat="server" Visible="false"> 
        <label id="lblStatus"></label> 
        <div style="color: gray; font-style:italic; font-size:14px"> 
         Qeyd: Nəzərə alın ki, siz elanı yenilədikdə yenidən bizim təsdiqimiz ilə yayımlanacaq.. 
        </div> 
        <div class="editBlockLeft"> 
         <div class="blockGroup"> 
          <div>Elanın Nömrəsi</div> 
          <asp:Label ID="lblID" runat="server" Style="font-size: 15px; font-family: calibri; color: gray" Text=""></asp:Label> 
         </div> 
         <div class="blockGroup"> 
          <div>Şəkil</div> 
          <asp:Image ID="imgOrgPic" runat="server" CssClass="imgOrgPic" /> 
          <br /> 
          <div style="width: 100% !important"> 
           <asp:UpdatePanel ID="upImage" runat="server" UpdateMode="Conditional" RenderMode="Inline"> 
            <ContentTemplate> 
             <asp:RadioButton ID="rdbNotChange" runat="server" Checked="true" GroupName="pic" OnCheckedChanged="rdbNotChange_CheckedChanged" Text="Dəyişmə" AutoPostBack="True" CssClass="radiobutton" /> 
             <asp:RadioButton ID="rdbChange" runat="server" GroupName="pic" Text="Dəyiş" AutoPostBack="True" OnCheckedChanged="rdbChange_CheckedChanged" CssClass="radiobutton" /> 
             <asp:RadioButton ID="rdbDelete" runat="server" GroupName="pic" Text="Sil" AutoPostBack="True" OnCheckedChanged="rdbDelete_CheckedChanged" CssClass="radiobutton" /> 

             <asp:FileUpload ID="fuOrgLogo" runat="server" Enabled="false" CssClass="fileupload" /><br /> 

             <asp:Label ID="lblOldPicPath" runat="server" Visible="false"></asp:Label> 
            </ContentTemplate> 
           </asp:UpdatePanel> 
          </div> 
         </div> 
         <br /> 
         <div class="blockGroup"> 
          <div>Təşkilat adı</div> 
          <asp:TextBox ID="txtOrgName" runat="server" ClientIDMode="Static" Text=''></asp:TextBox>* 
         </div> 
         <div class="blockGroup"> 
          <div>Vəzifə</div> 
          <asp:TextBox ID="txtPosition" runat="server" ClientIDMode="Static" Text=''></asp:TextBox>* 
         </div> 
         <div class="blockGroup"> 
          <div>Email</div> 
          <asp:TextBox ID="txtEmail" runat="server" ClientIDMode="Static" TextMode="Email" Text=''></asp:TextBox>* 
         </div> 
         <div class="blockGroup"> 
          <div>Telefon</div> 
          <asp:TextBox ID="txtPhone" runat="server" ClientIDMode="Static" TextMode="Phone" Text=''></asp:TextBox>* 
         </div> 
         <div class="blockGroup"> 
          <div>Əlaqəli şəxs</div> 
          <asp:TextBox ID="txtRelatedPerson" runat="server" ClientIDMode="Static" Text=''></asp:TextBox> 
         </div> 
         <div class="blockGroup"> 
          <div>Sahə</div> 
          <asp:DropDownList CssClass="" ID="txtSector" runat="server" DataTextField="NAME" DataValueField="ID" ClientIDMode="Static"></asp:DropDownList>* 
         </div> 
         <div class="blockGroup"> 
          <div>İxtisas</div> 
          <select id="txtSubSector" name="txtSubSector"></select> 
          <asp:Label ID="lblSubSector" ClientIDMode="Static" runat="server" Visible="true" ></asp:Label> <!-- Gizli Ixtisas label-i --> 
         </div> 
         <div class="blockGroup"> 
          <div>İş tipi</div> 
          <asp:DropDownList ID="txtJobType" runat="server" ClientIDMode="Static" DataSourceID="dsJobType" DataTextField="NAME" DataValueField="ID"></asp:DropDownList>* 
         </div> 
         <div class="blockGroup"> 
          <div>Şəhər</div> 
          <asp:DropDownList ID="txtCity" runat="server" ClientIDMode="Static" DataSourceID="dsCity" DataTextField="NAME" DataValueField="ID"></asp:DropDownList>* 
         </div> 
         <div class="blockGroup"> 
          <div>Minimum Maaş</div> 
          <asp:DropDownList ID="txtSalaryMin" runat="server" ClientIDMode="Static"> 
           <asp:ListItem Value="-1">Seçilməyib</asp:ListItem> 
           <asp:ListItem>100</asp:ListItem> 
           <asp:ListItem>200</asp:ListItem> 
           <asp:ListItem>300</asp:ListItem> 
           <asp:ListItem>400</asp:ListItem> 
           <asp:ListItem>500</asp:ListItem> 
           <asp:ListItem>600</asp:ListItem> 
           <asp:ListItem>700</asp:ListItem> 
           <asp:ListItem>800</asp:ListItem> 
           <asp:ListItem>900</asp:ListItem> 
           <asp:ListItem>1000</asp:ListItem> 
           <asp:ListItem>1100</asp:ListItem> 
           <asp:ListItem>1200</asp:ListItem> 
           <asp:ListItem>1300</asp:ListItem> 
           <asp:ListItem>1400</asp:ListItem> 
           <asp:ListItem>1500</asp:ListItem> 
           <asp:ListItem>1600</asp:ListItem> 
           <asp:ListItem>1700</asp:ListItem> 
           <asp:ListItem>1800</asp:ListItem> 
           <asp:ListItem>1900</asp:ListItem> 
           <asp:ListItem>2000</asp:ListItem> 
           <asp:ListItem>2100</asp:ListItem> 
           <asp:ListItem>2200</asp:ListItem> 
           <asp:ListItem>2300</asp:ListItem> 
           <asp:ListItem>2400</asp:ListItem> 
           <asp:ListItem>2500</asp:ListItem> 
           <asp:ListItem>2600</asp:ListItem> 
           <asp:ListItem>2700</asp:ListItem> 
           <asp:ListItem>2800</asp:ListItem> 
           <asp:ListItem>2900</asp:ListItem> 
           <asp:ListItem>3000</asp:ListItem> 
           <asp:ListItem>3200</asp:ListItem> 
           <asp:ListItem>3500</asp:ListItem> 
           <asp:ListItem>3800</asp:ListItem> 
           <asp:ListItem>4000</asp:ListItem> 
           <asp:ListItem>4200</asp:ListItem> 
           <asp:ListItem>4500</asp:ListItem> 
           <asp:ListItem>4800</asp:ListItem> 
           <asp:ListItem>5000</asp:ListItem> 
           <asp:ListItem>5500</asp:ListItem> 
           <asp:ListItem>6000</asp:ListItem> 
          </asp:DropDownList>* 
         </div> 
         <div class="blockGroup"> 
          <div>Maksimum Maaş</div> 
          <asp:DropDownList ID="txtSalaryMax" runat="server" ClientIDMode="Static"> 
           <asp:ListItem Value="-1">Seçilməyib</asp:ListItem> 
           <asp:ListItem>100</asp:ListItem> 
           <asp:ListItem>200</asp:ListItem> 
           <asp:ListItem>300</asp:ListItem> 
           <asp:ListItem>400</asp:ListItem> 
           <asp:ListItem>500</asp:ListItem> 
           <asp:ListItem>600</asp:ListItem> 
           <asp:ListItem>700</asp:ListItem> 
           <asp:ListItem>800</asp:ListItem> 
           <asp:ListItem>900</asp:ListItem> 
           <asp:ListItem>1000</asp:ListItem> 
           <asp:ListItem>1100</asp:ListItem> 
           <asp:ListItem>1200</asp:ListItem> 
           <asp:ListItem>1300</asp:ListItem> 
           <asp:ListItem>1400</asp:ListItem> 
           <asp:ListItem>1500</asp:ListItem> 
           <asp:ListItem>1600</asp:ListItem> 
           <asp:ListItem>1700</asp:ListItem> 
           <asp:ListItem>1800</asp:ListItem> 
           <asp:ListItem>1900</asp:ListItem> 
           <asp:ListItem>2000</asp:ListItem> 
           <asp:ListItem>2100</asp:ListItem> 
           <asp:ListItem>2200</asp:ListItem> 
           <asp:ListItem>2300</asp:ListItem> 
           <asp:ListItem>2400</asp:ListItem> 
           <asp:ListItem>2500</asp:ListItem> 
           <asp:ListItem>2600</asp:ListItem> 
           <asp:ListItem>2700</asp:ListItem> 
           <asp:ListItem>2800</asp:ListItem> 
           <asp:ListItem>2900</asp:ListItem> 
           <asp:ListItem>3000</asp:ListItem> 
           <asp:ListItem>3200</asp:ListItem> 
           <asp:ListItem>3500</asp:ListItem> 
           <asp:ListItem>3800</asp:ListItem> 
           <asp:ListItem>4000</asp:ListItem> 
           <asp:ListItem>4200</asp:ListItem> 
           <asp:ListItem>4500</asp:ListItem> 
           <asp:ListItem>4800</asp:ListItem> 
           <asp:ListItem>5000</asp:ListItem> 
           <asp:ListItem>5500</asp:ListItem> 
           <asp:ListItem>6000</asp:ListItem> 
          </asp:DropDownList> 
         </div> 
         <div class="blockGroup"> 
          <div>Minimum Yaş</div> 
          <asp:DropDownList ID="txtAgeMin" ClientIDMode="Static" runat="server"></asp:DropDownList>* 
         </div> 
         <div class="blockGroup"> 
          <div>Maksimum Yaş</div> 
          <asp:DropDownList ID="txtAgeMax" runat="server" ClientIDMode="Static"></asp:DropDownList> 
         </div> 
         <div class="blockGroup"> 
          <div>Cinsi</div> 
          <asp:DropDownList ID="txtSex" runat="server" ClientIDMode="Static" DataSourceID="dsSex" DataTextField="NAME" DataValueField="ID"></asp:DropDownList> 
         </div> 
        </div> 

        <div class="editBlockLeft"> 
         <div class="blockGroup"> 
          <div>Təhsil səviyyəsi</div> 
          <asp:DropDownList ID="txtEducationLevel" runat="server" ClientIDMode="Static" DataSourceID="dsEducationLevel" DataTextField="NAME" DataValueField="ID"></asp:DropDownList> 
         </div> 
         <div class="blockGroup"> 
          <div>Təcrübə müddəti</div> 
          <asp:DropDownList ID="txtExperienceTime" runat="server" ClientIDMode="Static"> 
           <asp:ListItem Value="-1">Seçilməyib</asp:ListItem> 
           <asp:ListItem>1</asp:ListItem> 
           <asp:ListItem>2</asp:ListItem> 
           <asp:ListItem>3</asp:ListItem> 
           <asp:ListItem>4</asp:ListItem> 
           <asp:ListItem>5</asp:ListItem> 
           <asp:ListItem>6</asp:ListItem> 
          </asp:DropDownList> 
         </div> 
         <div class="blockGroup"> 
          <div>Əsas tələblər</div> 
          <asp:TextBox ID="txtQualifications" runat="server" ClientIDMode="Static" CssClass="multlineInput" TextMode="MultiLine" Text=''></asp:TextBox>* 
         </div> 

         <div class="blockGroup"> 
          <div>İş haqqında məlumat</div> 
          <asp:TextBox ID="txtJobDescription" runat="server" ClientIDMode="Static" CssClass="multlineInput" TextMode="MultiLine" Text=''></asp:TextBox>* 
         </div> 
         <div class="blockGroup"> 
          <div>Vakansiya sayı</div> 
          <asp:DropDownList ID="txtVacancyQuantity" runat="server" ClientIDMode="Static"> 
           <asp:ListItem Value="-1">Seçilməyib</asp:ListItem> 
           <asp:ListItem>1</asp:ListItem> 
           <asp:ListItem>2</asp:ListItem> 
           <asp:ListItem>3</asp:ListItem> 
           <asp:ListItem>4</asp:ListItem> 
           <asp:ListItem>5</asp:ListItem> 
           <asp:ListItem>6</asp:ListItem> 
          </asp:DropDownList> 
         </div> 
        </div> 
       </asp:Panel> 
      </div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
    <div id="divSaveInfo" style="display:none; width: 100%; float: left"> 
     <asp:UpdatePanel ID="upSaveInfo" runat="server"> 
      <ContentTemplate> 
       <asp:Panel ID="pnlSaveInfo" runat="server" Visible="false"> 
        <asp:Button ID="btnSave" runat="server" ClientIDMode="Static" Text="Yadda saxla" CssClass="btn-add-ann" OnClick="btnSave_Click" /> 
        <label class="lblValidation">Qeyd olunan sahəni düzgün doldurun</label> 
       </asp:Panel> 
      </ContentTemplate> 
      <Triggers> 
       <asp:PostBackTrigger ControlID="btnSave" /> 
      </Triggers> 
     </asp:UpdatePanel> 
    </div> 


    <asp:SqlDataSource ID="dsCity" runat="server" ConnectionString="<%$ ConnectionStrings:KARIYERADB %>" 
     SelectCommand=" SELECT DICTIONARY.NAME, DICTIONARY.ID FROM DICTIONARY WHERE DICTIONARY.TYPEID = 3 AND DICTIONARY.ACTIVE <> 0 UNION SELECT N'Seçilməyib', -1 "></asp:SqlDataSource> 
    <asp:SqlDataSource ID="dsEducationLevel" runat="server" ConnectionString="<%$ ConnectionStrings:KARIYERADB %>" 
     SelectCommand="SELECT DICTIONARY.NAME, DICTIONARY.ID FROM DICTIONARY 
       WHERE (DICTIONARY.TYPEID = 5) AND (DICTIONARY.ACTIVE != 0) UNION SELECT N'Seçilməyib', -1 "></asp:SqlDataSource> 
    <asp:SqlDataSource ID="dsJobType" runat="server" ConnectionString="<%$ ConnectionStrings:KARIYERADB %>" 
     SelectCommand="SELECT DICTIONARY.NAME, DICTIONARY.ID FROM DICTIONARY 
       WHERE (DICTIONARY.TYPEID = 2) AND (DICTIONARY.ACTIVE != 0) UNION SELECT N'Seçilməyib', -1 "></asp:SqlDataSource> 
    <asp:SqlDataSource ID="dsSex" runat="server" ConnectionString="<%$ ConnectionStrings:KARIYERADB %>" 
     SelectCommand="SELECT DICTIONARY.NAME, DICTIONARY.ID FROM DICTIONARY 
       WHERE (DICTIONARY.TYPEID = 4) AND (DICTIONARY.ACTIVE != 0) UNION SELECT N'Seçilməyib', -1 "></asp:SqlDataSource> 
</asp:Content> 

ответ

0

Как насчет:

var subs = $('#lblSubSector').text(); 
$('#txtSubSector').append('<option value="' + subs + '">Volvo</option>'); 

UPDATE:

Тогда, я думаю, что это происходит потому, что вы пытаетесь g, чтобы установить значение, прежде чем options сгенерированы для элемента select. Если предположить, что у вас есть функция под названием BindOptionsFunction, которые генерируют параметры, вы можете сделать это:

$.when(BindOptionsFunction).done(function() { 
    var subs = $('#lblSubSector').text(); 
    $('#txtSubSector').val(subs); 
}); 
+0

Я не хочу, чтобы добавить возможность выбора управления. Элемент select уже был заполнен другой функцией. Я хочу изменить выбранную опцию элемента управления. –

+0

см. ОБНОВЛЕНИЕ. – renakre

+0

Нет, это не работает. –