2013-05-16 52 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后设置下拉值的原因 –

相关问题