2013-05-16 97 views
3

我試圖設置與jQuery下拉列表模式彈出窗口時顯示。 我想用一些靜態數據,但沒有任何成功。 這是我有:用jquery設置一個asp下拉列表的選定值

$(document).on("click", ".open-EditSplitAgent", function() { 
       var first = $(this).data('first'); 
       var last = $(this).data('last'); 
       var splitPC = $(this).data('splitpc'); 
       var id = $(this).data('id'); 
       $('#<%=txtFirstEdit.ClientID%>').val(first); 
       $('#<%=txtLastEdit.ClientID%>').val(last); 
       $('#<%=hfLifeID.ClientID%>').val(id);    
       $("#ddlAgentPercEdit").val('0.50');    
       $('#editSplitAgent').modal('show'); 
      }); 

下拉有此值:

<asp:DropDownList ID="ddlAgentPercEdit" runat="server"> 
            <asp:ListItem Value="">Select Percentage</asp:ListItem> 
           <asp:ListItem Value="0.50">0.5</asp:ListItem> 
           <asp:ListItem Value="0.75">0.75</asp:ListItem> 
           <asp:ListItem Value="0.9">0.01</asp:ListItem> 
           <asp:ListItem Value="0.7">0.7</asp:ListItem> 
           <asp:ListItem Value="0.1">0.1</asp:ListItem> 
           <asp:ListItem Value="0.8">0.8</asp:ListItem> 
           <asp:ListItem Value="0.6">0.6</asp:ListItem> 
           <asp:ListItem Value="0.9">0.9</asp:ListItem> 
           <asp:ListItem Value="0.05">0.05</asp:ListItem> 
           <asp:ListItem Value="0.95">0.95</asp:ListItem> 
          </asp:DropDownList> 

我有文本框和隱藏字段顯示模式彈出時有正確的值。 正如你可以在jquery事件中看到的,我正在嘗試靜態數據,所以我可以看到它的靜態數據工作正常,但最初我需要將splitPC var值指定給下拉值。 預先感謝您的建議, Laziale

編輯: 的模式彈出渲染代碼:

 <div class="modal hide fade" tabindex="-1" role="dialog" id="editSplitAgent"> 
<div class="modal-header"> 
    <button class="close" data-dismiss="modal">×</button> 
    <h3>Edit Split Agent</h3> 
    </div> 
    <div class="modal-body">  
     <div class="content"> 

       <div class="form-row row-fluid"> 
         <div class="span12"> 
          <div class="row-fluid"> 
           <label class="form-label span4" for="tooltip">First Name</label> 
           <input name="ctl00$ContentPlaceHolder1$txtFirstEdit" type="text" id="ctl00_ContentPlaceHolder1_txtFirstEdit" class="span8 tip" />  
           <span id="ctl00_ContentPlaceHolder1_RequiredFieldValidator4" style="color:Red;display:none;"></span> 
      <input type="hidden" name="ctl00$ContentPlaceHolder1$ValidatorCalloutExtender5_ClientState" id="ctl00_ContentPlaceHolder1_ValidatorCalloutExtender5_ClientState" />               
          </div> 
         </div> 
       </div> 
       <div class="form-row row-fluid"> 
         <div class="span12"> 
          <div class="row-fluid"> 
           <label class="form-label span4" for="tooltip">Last Name</label> 
           <input name="ctl00$ContentPlaceHolder1$txtLastEdit" type="text" id="ctl00_ContentPlaceHolder1_txtLastEdit" class="span8 tip" /> 
            <span id="ctl00_ContentPlaceHolder1_RequiredFieldValidator5" style="color:Red;display:none;"></span> 
      <input type="hidden" name="ctl00$ContentPlaceHolder1$ValidatorCalloutExtender6_ClientState" id="ctl00_ContentPlaceHolder1_ValidatorCalloutExtender6_ClientState" />               
          </div> 
         </div> 
       </div> 
      <div class="form-row row-fluid"> 
         <div class="span12"> 
          <div class="row-fluid"> 
           <label class="form-label span4" for="tooltip">Agent Percentage</label> 
           <div class="span8 controls"> 
          <select name="ctl00$ContentPlaceHolder1$ddlAgentPercEdit" id="ctl00_ContentPlaceHolder1_ddlAgentPercEdit"> 
    <option value="">Select Percentage</option> 
    <option value="0.50">0.5</option> 
    <option value="0.75">0.75</option> 
    <option value="0.9">0.01</option> 
    <option value="0.7">0.7</option> 
    <option value="0.1">0.1</option> 
    <option value="0.8">0.8</option> 
    <option value="0.6">0.6</option> 
    <option value="0.9">0.9</option> 
    <option value="0.05">0.05</option> 
    <option value="0.95">0.95</option> 

</select> 
           </div> 
          </div> 
         </div> 
       </div> 
      <input type="hidden" name="ctl00$ContentPlaceHolder1$hfLifeID" id="ctl00_ContentPlaceHolder1_hfLifeID" /> 
      </div> 
     </div> 
      </div> 
+1

你爲什麼不使用'<%= ddlAgentPercEdit.ClientID%>'? – Ian

+0

你爲什麼使用'ClientID'做其他的事情,而不是'ddlAgentPercEdit'? –

+0

我一開始用ClientID嘗試過,但不是那種方式。 – Laziale

回答

4

你應該使用

$("#<%=ddlAgentPercEdit.ClientID%>").val('0.50'); 

檢查JSFIDDLE

我的榜樣請粘貼您的瀏覽器呈現的HTML。我會幫你解決它

+0

請標記爲回答是否正確 –

+2

它不工作這種方式爲好,我試過了,但是已經爲你的提示 – Laziale

+0

我我的答案更新感謝,請 –

0

我覺得這可能是一個問題......

你似乎在設置下拉的價值,正在顯示before the Modal ..

所以從理論上來講your dropdown is not yet visible時您正試圖設置該值。

所以嘗試設置下拉的值顯示在模態之後..

$('#editSplitAgent').modal('show'); // Show the modal first 
$("[id*=ddlAgentPercEdit]").val('0.50'); // Then set the value 
+0

方式的情況下是正確的,它並不重要,他之前它們綁定或 –

+0

後我沒有糾正他是有約束力的事件..最初,當事件被綁定的方式,他是委託事件..含義' Modal'在頁面上還沒有提供。意思是它會被動態地添加或者在那個時間點被設置爲'display:none'..所以如果你設置一個值爲一個被隱藏的元素,什麼也不會發生。這就是我要求OP在顯示Modal後設置下拉值的原因 –

相關問題